【发布时间】:2016-03-17 06:46:55
【问题描述】:
我知道这在 C# 中是不可能的,因为泛型不是模板,它们的实现方式不同(在运行时处理而不是在编译期间处理):
public class Foo<T> : T
{
}
问题仍然存在。是否有等效或替代方法来实现这一目标?
在我的例子中,我想要继承三个不同的父类,我们称它们为 A、B、C:
public class A {}
public class B {}
public class C {}
然后我有 Foo 类,然后还有更多从 Foo 继承,但它们中的每一个只需要 A、B、C 之一:
public class X : Foo<A> {}
public class Y : Foo<B> {}
public class Z : Foo<C> {}
所以类 X 需要 Foo 中的所有功能以及 A 中的所有功能,Y 来自 Foo 和 B 等等......
如何在 C# 中做到这一点?
【问题讨论】:
-
那么答案中没有 cmets 吗?我认为这是一个有趣的话题
标签: c# oop generics inheritance design-patterns