Каков наилучший способ прокрутки сборки, и для каждого класса в списке сборки это "SuperClass"?
Assembly assembly = typeof(DataSet).Assembly; // etc
foreach (Type type in assembly.GetTypes())
{
if (type.BaseType == null)
{
Console.WriteLine(type.Name);
}
else
{
Console.WriteLine(type.Name + " : " + type.BaseType.Name);
}
}
Обратите внимание, что общие и вложенные типы имеют фанковые имена, любые из которых вы можете использовать FullName
для включения пространства имен.
foreach(Type type in assembly.GetTypes()) {
var isChild = type.IsSubclassOf(typeof(parentClass))
}
Ссылка из MSDN.
Assembly.GetTypes
и Type.BaseType
Assembly a;
foreach(var type in a.GetTypes()) {
Console.WriteLine(
String.Format("{0} : {1}",
type.Name,
type.BaseType == null ? String.Empty : type.BaseType.Name
);
}