【发布时间】:2012-10-13 22:26:33
【问题描述】:
我有 A 类:
public class ClassA<T>
我在 ClassA 中有一个泛型方法:
protected TP FunctionA<TP>(Expression<Func<T, TP>> p)
{
//Code for method here
}
ClassB 派生自 ClassA:
public class ClassB : ClassA<ClassB>
ClassC 派生自 ClassB:
public class ClassC : ClassB
当像上例那样创建 ClassC 时,ClassA 仍然会有 ClassB 的类型,因为 ClassC 派生自 ClassB,而 ClassB 将 ClassA 的类型设置为 ClassB。
我想知道的是如何从 ClassB 派生,同时将 ClassA 类型设置为 ClassC 并且 ClassB 仍然需要能够单独使用而无需派生自。
谢谢!
【问题讨论】:
标签: c#-4.0 generics inheritance types multiple-inheritance