gpt4 book ai didi

c# - 使用成员作为实现者实现接口(interface)

转载 作者:太空狗 更新时间:2023-10-30 00:57:00 26 4
gpt4 key购买 nike

我有实现 IA 的 A 类。
现在我需要创建也应该实现 IA 的 B 类。 B 类具有 A 类的实例作为成员。

有什么方法可以定义A的实例实现类B中的IA吗?

interfase IA {
void method1();
void method2();
.
.
.
.
void methodN();
}

class A:IA {
public void method1(){}
public void method2(){}
.
.
.
.
public void methodN(){}
}

class B:IA {
private IA m_a;
public B(IA a) {
m_a=a;
}

//Instead all of this I am looking of a way to define that m_a is the implement to IA of B
public void method1(){ use of a.method1 }
public void method2(){ use of a.method2 }
.
.
.
.
public void methodN(){ use of a.methodN }
}

最佳答案

不一定,您可能想要定义某种返回 IA 成员的接口(interface),例如 Enumerable/Enumerator 图案。

public interface IB
{
public IA Item { get; }
}

然后 B 可以简单地返回您存储在其中的实例。

public class B : IB
{
public IA Item { get; private set; }
}

A 甚至可以实现 IB

public class A : IA, IB
{
public void Method1();
//...
public void MethodN();

IA IB.Item
{
get
{
return this;
}
}
}

关于c# - 使用成员作为实现者实现接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6262315/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com