C#反射简单介绍

反射是一种机制,通过这种机制我们可以知道一个未知类型的类型信息。比如其类名、公开属性名等。还可以获取、设置此对象的属性。

一些使用举例:

1、根据对象获取类信息

Type myType = record.GetType();

2、从类信息中获取属性信息

获取所有属性信息:PropertyInfo[] propers = myType.GetProperties();

访问属性名如:propers[0].Name

    当然也可以获取一个指定的属性:myType.GetProperty(proname)

3、获取当前对象某属性的值

myType.GetProperty(propers[0].Name).GetValue(record, null)

其中record为当前对象。

4、设置当前对象某属性的值

myType.GetProperty(propers[0].Name).SetValue(record, propers[0].Name, null);

其中record为当前对象。

    5、根据类名获取类信息

Type myType = Type.GetType(className); //需要使用类的完全限定名

6、根据类信息生成类实例(对象)

object myObject = Activator.CreateInstance(myType); //生成对象

当然还有很多操作。

posted on 2011-06-22 09:09  windfree  阅读(195)  评论(0编辑  收藏  举报