zoukankan      html  css  js  c++  java
  • 冰之随笔一(c#反射、特性)

      接触反射是从写三层开始的

      反射关键字:

        Assembly 程序集对象 其静态方法LoadForm(path)可以根据路径获取程序集,并且Assembly是一个抽象类,不能new,也不能继承

        程序集对象下常用的方法:

          Assembly assembly=Assembly.LoadFrom(Path);//Path是一个程序集路径(以.exe或者以.dll为后缀的) 

          assembly.GetTypes()//获取程序集中的类型集合,返回一个Type[]

          assembly.GetType(name)//获取指定名字的类型,返回一个Type

          Type对象下常用的方法

             Type type = ass.GetType();//创建一个Type实例

             PropertyInfo[] pi = type.GetProperties();//获取所有属性

                    pi=type.GetProperty(name);//获取指定名字的属性

                    pi.SetValue(type,值,null)//给属性赋值(type是这个属性所属的实例)

                    pi.GetValue()//读取实例中这个属性的值

      ·       FieldInfo[] fis = type.GetFields();//获取该类下的所有字段

             MethodInfo[] mis = type.GetMethods();//获取所有方法

             MethodInfo mi=type.GetMethod(name);//根据指定名称获取方法

                mi.Invoke(type,参数);//执行方法(mi.GetParameters()获取方法中参数的方法,返回一个ParameterInfo[]))

                    ConstructorInfo[] cis = type.GetConstructors();//获取所有构造函数

            注:一般都用foreach循环遍历

      特性:

        特性本质上是一个类,一个继承了Attribute的类

        一般特性类的命名都采用Attribute结尾,类中一般没有方法

          [类型(参数)]调用

      

    以上纯属本人学习经验,还有很多不足,欢迎各位大神指点

  • 相关阅读:
    Java
    一个web项目web.xml的配置中<context-param>配置作用
    JVM之几种垃圾收集器简单介绍
    JVM日志和参数的理解
    Java GC日志查看
    Java-性能调优-理解GC日志
    理解Java的GC日志
    tomcat打印GC日志
    快速解读GC日志
    Java 堆内存
  • 原文地址:https://www.cnblogs.com/caoxianbing/p/3435019.html
Copyright © 2011-2022 走看看