• 反射用法


    C#反射技术的相关使用方法  

    摘抄至:http://blog.163.com/m13864039250_1/blog/static/21386524820132635733924/

     
     

    1.获取同一程序集的类型实例

    无参数构造函数

    Type t=Type.GetType("AppCode.Employee");

    object emp=t.Assembly.CreateInstance("AppCode.Emloyee");

    有参数的构造函数

           //构造函数参数列表如下

           //public Employe(string userid, string username, int age)

    Type t=Type.GetType("AppCode.Employee");

    //生成参数类型数组

    Type[] ts=new Type[3]{ typeof(System.String),typeof(System.String),typeof(System.Int16)};

    //获得构造函数

    ConstructorInfo mi=t.GetConstructor(ts);

    //生成参数值数组

    object[] ps=new object[3];

      ps[0] = "420106780911326";

      ps[1] = "wesker";

      ps[2] = 36;

      object emp=mi.Invoke(ps);

     2.获得不同程序集内的类型的实例。

    无参数构造函数

    Type t = Assembly.LoadFile(AppDomain.CurrentDomain.BaseDirectory + "\compenent1.dll").GetType("compenent1.User");

    object user = t.Assembly.CreateInstance("compenent1.User");

    有参数的构造函数

     Type t = Assembly.LoadFile(AppDomain.CurrentDomain.BaseDirectory + "\compenent1.dll").GetType("compenent1.User");

       Type[] ts = new Type[3] { typeof(System.String), typeof(System.String), typeof(System.Int16) };

       ConstructorInfo mi = t.GetConstructor(ts);

     object[] ps = new object[3];

      ps[0] = "420106780911326";

      ps[1] = "wesker";

      ps[2] = 36;

      object user = mi.Invoke(ps);

    3.使用反射调用方法

    Type t = Type.GetType("AppCode.Employe");

      object emp = t.Assembly.CreateInstance("AppCode.Employe");

     MethodInfo mi = t.GetMethod("ToString");

      string context = mi.Invoke(emp,null).ToString();

     4.获得类的信息

      通过Type.GetMethods方法获得方法的信息。

      通过Type.GetConstructors获得构造函数。

      5.使用Activator类实例化类型

     
     
     
     
    阅读(465)| 评论(0)
  • 相关阅读:
    [vp]ARC068
    [vp]ARC067
    Vision transformer
    rosetta使用silent格式储存PDB结构,节省本地存储
    CentOS7下安装JDK详细过程
    jdk下载Oracle共享账号
    虚拟机地址发生变化
    字节跳动面试题,给你一个每一项都是数值混乱顺序的数组,只要里面正确顺序的值输出。如[5,1,3,6,2,7],只要[1,2,7]
    spring boot web 第一个项目新建
    xmind-excel
  • 原文地址:https://www.cnblogs.com/wutianyu/p/4343170.html
Copyright © 2020-2023  润新知