0

私はクラス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 を作成する場合、ClassC は ClassB から派生し、ClassB は ClassA の型を ClassB に設定するため、ClassA は引き続き ClassB の型を持ちます。

私が疑問に思っているのは、ClassA の型を ClassC に設定すると同時に ClassB から派生させるにはどうすればよいかということです。

ありがとう!

4

1 に答える 1

2

ClassBはもはやジェネリックではありません。ClassCもそうではありません。一般的なものにしたい場合、パターンは次のとおりです。

class ClassB<T> : ClassA<T> {}
class ClassC<T> : ClassB<T> {}
于 2012-10-13T23:10:00.480 に答える