标签:成员 void 列表 methods 字段 foreach tty 回声 type
Type类型是反射的最重要的一个类:
一、获取Type类型
object类型包含一个叫做GetType方法,它返回实例的type对象的引用。因为所有的类最终是继承Object,所以我们可以在任何对象上使用GetType方法
①使用GetType方法
Type t=person.GetType();
②使用typeof(class)
Type t=typeof(Person);
二、Type类,部分重要成员:
①Name:返回类型的名字
②Namespace:返回包含类型声明的命名空间
③Assembly :返回声明类型的程序集,如果类型是泛型的,返回定义这个类型的程序集
④GetFields:返回类型字段列表,包含父类的
⑤GetProperties:返回类型属性列表,包含父类的
⑥GetMethods:返回类型的方法列表,包含父类的
三、测试Type
class BaseClass
{
public int BaseFiled = 0;
}
class DerivedClass : BaseClass
{
public int DerivedField = 0;
}
static void Main(string[] args)
{
var bc = new BaseClass();
var dc = new DerivedClass();
BaseClass[] bca = new BaseClass[] { bc, dc };
foreach (var v in bca)
{
Type t = v.GetType();
Console.WriteLine("Object Type:{0}",t.Name);
FieldInfo[] fi = t.GetFields();
foreach (var f in fi)
{
Console.WriteLine("field:{0}",f.Name);
}
}
Console.ReadKey();
}
//输出是:
Object Type:BaseClass
field:BaseFiled
Object Type:DerivedClass
field:DerivedField
field:BaseFiled
标签:成员 void 列表 methods 字段 foreach tty 回声 type
原文地址:http://www.cnblogs.com/entclark/p/7899810.html