一.反射的作用:
查看和遍历类型和类型的元数据;动态创建类型实例,动态的调用所创建的实例方法和字段,属性,迟绑定方法和属性。
二.获取Type对象实例:
反射的核心类-Type,封装了关于类型的元数据,是进行反射的入口。当获得了类型的Type对象后,可以根据Type提供的书信和方法获得这个类型的一切信息,包括字段,属性,事件,参数,构造函数等。
static void Main(string[] args)
{
//1.使用Type类提供的静态方法GetType()
Type t = Type.GetType("System.IO.Stream");
Console.WriteLine(t.ToString());
//2.使用typeof操作符
Type t1 = typeof(System.IO.Stream);
Console.WriteLine(t1);
//3.通过类型实例获得Type对象
string name = "字符串类型";
Type t2 = name.GetType();
Console.WriteLine(t2);
//新建一个测试项目类库,命名Testdll,添加到项目引
Class1 c1 = new Class1();
Type t3 = c1.GetType();
Console.WriteLine(c1);
}三.Type类型和System.Reflection命名空间组织及结构。
在上述代码中添加一下代码:
Console.WriteLine(t3.Name); //当前成员名称
Console.WriteLine(t3.FullName); //类型全名
Console.WriteLine(t3.Namespace);//获取命名空间
Console.WriteLine(t3.BaseType); //在.NET中映射类型的引用
Console.WriteLine(t3.Attributes);//获取与 System.Type 关联的属性。
//......Type提供了用于获取类型的基本信息。如:当前对象类型,命名空间,对象和命名空间全名,是否公开等...可以F12到Type中查看。
原文:http://blog.csdn.net/heyangyi_19940703/article/details/51338233