0

TypeXMLシリアライザーにパラメーターとして渡すために、アセンブリ内のすべてのクラスを列挙し、それらをオブジェクトの配列に入れるLinqコードがありAdditionalTypesます。特定の基本クラスから派生したクラスのみが含まれるように、その配列の内容をフィルター処理する必要があります。

Typeクラスが基本クラスの子孫であることをオブジェクトから判断するにはどうすればよいですか?

4

2 に答える 2

4

Type.IsAssignableFromまたはを探している可能性がありますType.IsSubclassOf。どちらの場合も、関係がより複雑になるため、ジェネリックが関係する場合は非常に慎重に考える必要があります。

于 2013-07-03T16:48:32.783 に答える
1

このようなものはおそらくあなたが必要な場所にあなたを連れて行くでしょう

AppDomain.CurrentDomain.GetAssemblies()
                     .SelectMany(x => x.GetTypes())
                     .Where(x => typeof(MyBaseType).IsAssignableFrom(x))
                     .ToArray();
于 2013-07-03T16:51:36.673 に答える