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); //生成对象
当然还有很多操作。