循环通过程序集的最佳方法是什么,并且对于程序集中的每个类都列出它的“超类”?
问问题
3358 次
3 回答
3
foreach(Type type in assembly.GetTypes()) {
var isChild = type.IsSubclassOf(typeof(parentClass))
}
来自MSDN的参考。
于 2009-07-09T13:11:52.053 回答
2
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
来包含命名空间。
于 2009-07-09T13:08:32.270 回答
1
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
);
}
于 2009-07-09T13:09:05.407 回答