При поиске подклассов, первое, что вам нужно, это определить границы.Вы ищете подклассы в определенной сборке?Если да, то этот код вам понадобится:
Type t = typeof(System.Nullable);
System.Reflection.Assembly a = System.Reflection.Assembly.GetAssembly("System.DLL");
Type[] types = a.GetTypes();
foreach (Type type in types)
{
if (type.IsSubclassOf(t))
Console.Write(type.ToString());
}
В приведенном выше коде выполняется поиск всех подклассов Nullable в System.DLL.Чтобы получить подклассы в текущей сборке, просто получите текущую сборку, используя
a = System.Reflection.Assembly.GetExecutingAssembly()
. Класс Type
предоставляет много информации.Так же как и Assembly
класс.