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
    
  • 相关阅读:
    java连接oracle数据库调用存储过程实现分页查询(emp为例)
    git 记录
    Angular记录
    “nth-child”选择器的优先级高于伪类选择器“:hover”
    Angular获取父组件传值-set,get
    Vue3.0路由 -- 学习笔记
    Vue学习笔记
    java-关于List删除元素的出错问题
    CSS选择器-复合选择器
    Angular 路由返回
  • 原文地址:https://www.cnblogs.com/entclark/p/7899810.html
Copyright © 2011-2022 走看看