0

重複の可能性:
クラスがジェネリック クラスから派生しているかどうかを確認する

タイプが何らかの種類であるかどうかをテストするにはどうすればよいList<>ですか? 例えば。以下の 3 つのクラスのように。

public class Words : List<string>
{
}

public class Numbers : List<double>
{
}

public class BigWords : Words
{
}

私は試した

    typeof(List<DateTime>).IsSubclassOf(typeof(List<>))
    typeof(Words).IsSubclassOf(typeof(List<>))
    typeof(Numbers).IsSubclassOf(typeof(List<>))
    typeof(BigWords).IsSubclassOf(typeof(List<>))

しかし、それはFalse4回戻ってきました。それぞれに期待Trueしました。

この質問は他の場所で回答されていると思いますが、継承、ポリモーフィズム、およびジェネリックの言語が混乱する可能性があるため、見つけることができませんでした。

4

1 に答える 1

0

Type.IsAssignableFromメソッドを見てください。

于 2012-11-21T11:30:34.207 に答える