反射
string path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Common.dll");
// 首先加载程序集文件
Assembly ass = Assembly.LoadFile(path);
// 获得程序集中所有公开的数据
Type[ ] types = ass.GetExportedTypes();
// 获得程序集中所有的数据 包括公开的和不公开的
// Type[ ] types = ass.GetTypes();
// 获得单个Type
// Type t = ass.GetType("name");
foreach (Type item in types)
{
Console.WriteLine(item.Name);
Console.WriteLine(item.FullName);
Console.WriteLine(item.Namespace);
}
- bool IsInstanceOfType(object o) 判断对象o是否是当前类的实例(当前类可以是o的类,父类,接口)
- bool IsSublassOf(Type c) 判断当前类是否是类c的子类
- bool IsAssignableFrom(Type c) 判断当前的类型的变量是不是可以接受c类型变量的赋值
- bool IsAbstract 判断是否为抽象的,含接口