gpt4 book ai didi

c# - 在 C# BOL 类中正确实现接口(interface)

转载 作者:行者123 更新时间:2023-11-30 22:05:25 26 4
gpt4 key购买 nike

我一直在搜索并找到了类似的东西,但没有什么能完全回答我的问题。这是-我有两个类(class)。 A,B。我希望 C 类拥有这两个类的所有属性。这是在对象层中,c#.net。

A 类:

public class A
{
public string property1 { get; set; }
}

public class B
{
public string anotherproperty { get; set; }
}

public interface IB
{
B b { get; set; }
}

public class C : A, IB
{
//nothing here cause hopefully it inherits everything
}

我不知道我的实现是否接近。我确实收到“C 不实现接口(interface)成员 IB”的错误消息

有人知道怎么做吗?

最佳答案

I have two classes. A, B. I want class C to have all the properites of those two classes.

...那么您将不得不手动将 A 或 B 的属性添加到 C。抱歉,C# 不支持多重继承。


但是,在大多数情况下,不需要多重继承。一个常见的替代方法是使用组合而不是继承:例如,您可以让类 C 提供对 A 和 B 实例的引用:

public class C
{
private A a = new A();
private B b = new B();

public A A { get { return a; } }
public B B { get { return b; } }
}

这将允许您通过 myC.A.property1myC.B.anotherproperty 访问所有属性。

如果您确实需要在 C 中组合来自 AB实现,您可能需要看看Mixin C# 库。

关于c# - 在 C# BOL 类中正确实现接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24393002/

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