`
gaofen100
  • 浏览: 1189045 次
文章分类
社区版块
存档分类
最新评论

举例或浅讲反射(System.Reflection)

 
阅读更多
反射提供了封装程序集、模块和类型的对象(Type 类型)。可以使用反射动态创建类型的实例,将类型绑定到现有对象,或从现有对象获取类型并调用其方法或访问其字段和属性。如果代码中使用了属性,可以利用反射对它们进行访问。
System.Reflection.Emit 命名空间的类提供了一种特殊形式的反射,能够在运行时构造类型。
反射也可用于创建称作类型浏览器的应用程序,它使用户能够选择类型,然后查看有关选定类型的信息。
反射还有其他一些用途。JScript 等语言编译器使用反射来构造符号表。System.Runtime.Serialization 命名空间中的类使用反射来访问数据并确定要持久保存的字段。
System.Runtime.Remoting 命名空间中的类通过序列化来间接地使用反射。
反射在下列情况下很有用:
1.需要访问程序元数据的属性。
2.检查和实例化程序集中的类型。
3.在运行时构建新类型。使用 System.Reflection.Emit 中的类。
4.执行后期绑定,访问在运行时创建的类型的方法。

例:
int i = 42;
System.Type type = i.GetType();
System.Console.WriteLine(type);
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics