举例或浅讲反射(System.Reflection)
2008-07-28 11:24
225 查看
反射提供了封装程序集、模块和类型的对象(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);
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);
相关文章推荐
- 反射 System.Reflection
- C# 关于反射类[System.Reflection]的一个小例子
- C# 反射:System.Reflection
- C#反射 总结 (System.Reflection )
- 基础命名空间:反射 using System.Reflection
- 反射中"System.Reflection.Missing.Value"是怎么获值的?
- C# System.Reflection (反射)
- System.Reflection 反射技术实例.
- 当用到反射的程序部署时出现System.Data - System.Reflection.ReflectionTypeLoadException: Unable to load one or more
- [转]C# 关于反射类[System.Reflection] 根据类名 动态调用 类方法
- System.Reflection,.net中反射的核心类
- C# System.Reflection 反射
- C# 关于反射类[System.Reflection] 根据类名 动态调用 类方法
- 【C#基础】System.Reflection (反射)
- Java Reflection (JAVA反射)
- Java反射经典实例 Java Reflection Cookbook
- java反射学习(Reflection)
- C#反射Reflection
- Java Reflection (JAVA反射转载)
- Java中反射机制(Reflection)学习