TypeXMLシリアライザーにパラメーターとして渡すために、アセンブリ内のすべてのクラスを列挙し、それらをオブジェクトの配列に入れるLinqコードがありAdditionalTypesます。特定の基本クラスから派生したクラスのみが含まれるように、その配列の内容をフィルター処理する必要があります。
Typeクラスが基本クラスの子孫であることをオブジェクトから判断するにはどうすればよいですか?
TypeXMLシリアライザーにパラメーターとして渡すために、アセンブリ内のすべてのクラスを列挙し、それらをオブジェクトの配列に入れるLinqコードがありAdditionalTypesます。特定の基本クラスから派生したクラスのみが含まれるように、その配列の内容をフィルター処理する必要があります。
Typeクラスが基本クラスの子孫であることをオブジェクトから判断するにはどうすればよいですか?
Type.IsAssignableFromまたはを探している可能性がありますType.IsSubclassOf。どちらの場合も、関係がより複雑になるため、ジェネリックが関係する場合は非常に慎重に考える必要があります。
このようなものはおそらくあなたが必要な場所にあなたを連れて行くでしょう
AppDomain.CurrentDomain.GetAssemblies()
.SelectMany(x => x.GetTypes())
.Where(x => typeof(MyBaseType).IsAssignableFrom(x))
.ToArray();