zoukankan      html  css  js  c++  java
  • 反射方法调用例子

    private List<GetNewDateDTO> Reflection()
    {
    object obj;
    Assembly assembly = Assembly.Load("NetGet.UI");//加载DLL,NetGet.UI 为类库名称
    Type t = assembly.GetType("NetGet.UI.GetNewData.GetNewDataMastMVP.GetNewDataMastModel"); 

    //不是静态方法需要用到这一部分
    obj = t.InvokeMember(null,
    BindingFlags.DeclaredOnly |
    BindingFlags.Public | BindingFlags.NonPublic |
    BindingFlags.Instance | BindingFlags.CreateInstance, null, null, null);


    List<GetNewDateDTO> a;
    a = (List<GetNewDateDTO>)t.InvokeMember("Query", BindingFlags.Public | BindingFlags.Instance |
    BindingFlags.InvokeMethod, null, obj, new Object[] { "" });
    return a;

    }

    public void LoadForm()
    {


    Assembly assembly = Assembly.Load("NetGet.UI");
    Type t = assembly.GetType("NetGet.UI.FormLoadFacade");

    var frm = CapitalAnalysisMast.ActiveForm;
    t.InvokeMember("GetNewDataMastForm", BindingFlags.Public | BindingFlags.Instance |BindingFlags.Static|
    BindingFlags.InvokeMethod, null, null, new Object[] { frm });
    LoadData();

    }

    public void LoadData()
    {
    Assembly myAs = Assembly.Load("NetGet.UI");
    Type T = myAs.GetType("NetGet.UI.GetNewData.GetNewDataListMVP.GetNewDataList");
    object obj = T.InvokeMember(null,
    BindingFlags.DeclaredOnly |
    BindingFlags.Public | BindingFlags.NonPublic |
    BindingFlags.Instance | BindingFlags.CreateInstance, null, null, null);

    List<GetNewDateDTO> a=new List<GetNewDateDTO>();
    a = Reflection();


    T.InvokeMember("LoadData", BindingFlags.Public | BindingFlags.Instance |BindingFlags.NonPublic|
    BindingFlags.InvokeMethod, null, obj, new Object[] { a });
    }

  • 相关阅读:
    修改某路径下的文件名
    关于提取字符串中数字
    解决采集知乎数据时由于账号被封遗漏的账号重爬问题(python代码)
    project proposal写作框架
    PHP实现生成透明背景的PNG缩略图函数
    PHP中的绝对和相对路径解析
    js设置页面锚点
    列表顺序储存
    c++修饰符重载
    c++配置文件读取、修改、添加
  • 原文地址:https://www.cnblogs.com/huzige/p/6546912.html
Copyright © 2011-2022 走看看