• Type


    Type类型是反射的最重要的一个类:

    一、获取Type类型

    object类型包含一个叫做GetType方法,它返回实例的type对象的引用。因为所有的类最终是继承Object,所以我们可以在任何对象上使用GetType方法

    ①使用GetType方法

    Type t=person.GetType();

    ②使用typeof(class)

    Type t=typeof(Person);

    二、Type类,部分重要成员:

    ①Name:返回类型的名字

    ②Namespace:返回包含类型声明的命名空间

    ③Assembly :返回声明类型的程序集,如果类型是泛型的,返回定义这个类型的程序集

    ④GetFields:返回类型字段列表,包含父类的

    ⑤GetProperties:返回类型属性列表,包含父类的

    ⑥GetMethods:返回类型的方法列表,包含父类的

    ⑦GetEvents:返回类型的事件列表,包含父类的

    ⑧GetMembers():返回类型的成员列表,包含父类的

    三、测试Type

        class BaseClass
            {
                public int BaseFiled = 0;
            }
            class DerivedClass : BaseClass
            {
                public int DerivedField = 0;
            }
    
    
      static void Main(string[] args)
    {
                var bc = new BaseClass();
                var dc = new DerivedClass();
                BaseClass[] bca = new BaseClass[] { bc, dc };
                foreach (var v in bca)
                {
                    Type t = v.GetType();
                    Console.WriteLine("Object Type:{0}",t.Name);
                    FieldInfo[] fi = t.GetFields();
                    foreach (var f in fi)
                    {
                        Console.WriteLine("field:{0}",f.Name);
                    }
                    
                }
                Console.ReadKey();
    }
    //输出是:
    Object Type:BaseClass
    field:BaseFiled
    Object Type:DerivedClass
    field:DerivedField
    field:BaseFiled
    
  • 相关阅读:
    深入理解jsonp跨域请求原理
    vue项目性能优化总结
    脱离Office约束,C#结合Mpxj组件完美解析MSProject(.mpp)文件
    将list转换成DataTable
    json时间格式化
    C# DES加密解密
    asp.net mvc ViewBag常用操作
    Jquery ajax与asp.net MVC前后端各种交互
    存储过程实现树形目录外联其他表实现每个节点的统计
    CSS自定义右键菜单
  • 原文地址:https://www.cnblogs.com/entclark/p/7899810.html
Copyright © 2020-2023  润新知