17.03.14 .Net基础(五)

反射
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 判断是否为抽象的,含接口

你可能感兴趣的:(17.03.14 .Net基础(五))