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 });
    }

  • 相关阅读:
    HDU 5441 离线处理 + 并查集
    [转载]HDU 3478 判断奇环
    POJ 1637 混合图的欧拉回路判定
    [转载] 一些图论、网络流入门题总结、汇总
    UVA 820 --- POJ 1273 最大流
    [转载 ]POJ 1273 最大流模板
    POJ 3041 -- 二分图匹配
    2014西安现场赛F题 UVALA 7040
    UVA 12549
    割点、桥(一点点更新)
  • 原文地址:https://www.cnblogs.com/huzige/p/6546912.html
Copyright © 2011-2022 走看看