4

一部の基本クラスを継承するアセンブリのすべてのタイプを取得する必要がありますが、最初の子孫のみを取得する必要があります。たとえば、私が持っている場合:

class Base
{

}

class FirstClass : Base
{

}

class SecondClass : FirstClass
{

}

var directOnes = assembly.GetTypes().Where(t => t.IsSubclassOf(typeof(Base)));

返さないFirstClassでくださいSecondClass。調べる方法はありますか?

4

1 に答える 1

7

代わりにIsSubclassOf()使用できますType.BaseType

例えば

var directOnes = assembly.GetTypes().Where(t => t.BaseType == (typeof(Base)));

(参考:型が直接実装するインターフェイスを見つける方法はないと思います。)

于 2013-05-10T06:04:42.823 に答える