zoukankan      html  css  js  c++  java
  • C#反射调用方法实例

    下面是两个反射的实例

    案例1:

    动态调用类中的方法、传入参数,并获得返回值。

    xxxx:类名

    Event:类中的方法

    pra1,pra2,pra3:方法对应的入参

    DoRet:方法返回的执行结果

    Type t = typeof(xxxx);//类名
    MethodInfo mt = t.GetMethod(Event);//加载方法
    string DoRet = mt.Invoke(this, new object[] { pra1, pra2, pra3 }).ToString();//执行

    案例2:

    动态加载外部DLL,并执行其中的方法。

    xxx:外部Dll的名字

    zzz:Dll中的类名

    yyy:方法名

    pra1,pra2:入参

    Ret:调用yyy的返回结果

    Assembly ass = null;
    Type tp;
    Object obj;
    ass = Assembly.Load("xxx");//dll名字
    tp = ass.GetType("xxx.zzz");//类名
    obj = Activator.CreateInstance(tp);//实例化
    MethodInfo meth = tp.GetMethod("yyy");//加载方法
    int Ret= meth.Invoke(obj, new Object[] { pra1, pra2 }).ToString();//执行

    案例3:

    动态执行方法和匹配参数

    1.从http请求中解析出方法method和输入参数paras

    2.从类中获取method的入参列表lists

    3.匹配lists和paras,如果paras少于lists,则用空值代替

    4.调用对应的方法

  • 相关阅读:
    table表格
    常见页面布局方式(三种框架集)
    学习标签属性3
    学习标签属性2
    学习标签属性1
    Purity in My Programming: Functions in Go
    cron一有趣处
    go函数作为一等民
    LRU算法
    go中的一个网络重连复用
  • 原文地址:https://www.cnblogs.com/zyskr/p/10750556.html
Copyright © 2011-2022 走看看