Здравствуйте, Воронков Василий, Вы писали:
ВВ>Т.е., если я правильно понимаю, задача в следующем. Есть некий тип myType и надо, допустим, найти всех его наследников в пределах сборки? Можно сделать примерно так:
ВВ>ВВ>foreach (Type t in myType.Assembly.GetTypes())
ВВ> if (t.IsSubclassOf(myType))
ВВ> Console.WriteLine(t.Name);
ВВ>
Я решил искать в AppDomain'e:
Assembly* assemblies __gc[] = AppDomain::get_CurrentDomain()->GetAssemblies();
for (int i = 0; i<assemblies->get_Count(); i++)
{
Type* types __gc[] = dynamic_cast<Assembly*>(assemblies->get_Item(i))->GetTypes();
for (int j = 0; j<types->get_Count(); j++)
{
if (dynamic_cast<Type*>(types->get_Item(j))->IsSubclassOf(__typeof(AccessPermission)))
System::Console::WriteLine(types->get_Item(j));
}
}
Спасибо!