【C#反射-Type类】

来源:互联网 发布:java web 跨域 编辑:程序博客网 时间:2024/05/16 04:34

一.反射的作用:

查看和遍历类型和类型的元数据;动态创建类型实例,动态的调用所创建的实例方法和字段,属性,迟绑定方法和属性。

二.获取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中查看。


2 0
原创粉丝点击