zoukankan      html  css  js  c++  java
  • 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
    
  • 相关阅读:
    CSS hacks汇总
    都要靠自己
    不被需要
    我们都是和自己赛跑的人
    其实天底下只有三件事
    开始怀旧了
    JavaScript回调函数陷阱
    郁闷着继续
    清明节悼念逝去亲人
    纯div+css制作的弹出菜单
  • 原文地址:https://www.cnblogs.com/entclark/p/7899810.html
Copyright © 2011-2022 走看看