// 所謂程式集的簡單理解,存在不同專案中(不是解決方案),即using前需要引用**.dll
1、呼叫當前類檔案下的方法public listgetbycondition(operatelogmodel model)
methodinfo servicemethod = this.gettype().getmethod("getbycondition");// 初始化方法資訊,this表示當前物件,如呼叫其它物件可以代入。
object modelobj = assembly.load("5yue.models").createinstance("_lbh.models.ordermodel");// 跨程式集初始化乙個空的model物件
type modeltype = assembly.load("5yue.models").gettype("_lbh.models.ordermodel");// 獲取model類
// 也可:
type modeltype = modelobj.gettype() ;// 獲取model類
// 呼叫
model model = new model();// 引數物件
object para = new object;
var result = servicemethod.makegenericmethod(modeltype).invoke(this, para);// 查詢資料
// 其中,makegenericmethod為呼叫泛型泛型必須,modeltype為傳入t的型別引數,para為方法形參,可同時傳入多個,並支援out,
// 獲取out的引數時: model = para[0];
2、程式集內呼叫
object obj = assembly.createinstance("_lbh.models.ordermodel");// 反射建立物件
type type = type.gettype("_lbh.models.ordermodel");// 反射型別資訊
// 也可:
type type = obj.gettype();
C 通過反射呼叫泛型方法
1.有乙個類,類中有乙個泛型方法。我們要通過反射來呼叫這個泛型方法。命名空間為 transight.hqv4.bll 類名為rvcbll 有兩個方法 a.public list maketest b.public listmaketest 2.反射,實質就是把命名空間的字串反射成我們想要的物件 例 ...
C 反射泛型
c 泛型反射和普通反射的區別,泛型反射和普通反射的區別就是泛型引數的處理上 先看乙個簡單的例子。class class1 要利用反射動態建立該型別例項,並呼叫 test 方法,我們可以使用如下方法 type type typeof class1 object o activator.createin...
C 反射泛型
摘自 c 泛型反射和普通反射的區別,泛型反射和普通反射的區別就是泛型引數的處理上 先看乙個簡單的例子。class class1 要利用反射動態建立該型別例項,並呼叫 test 方法,我們可以使用如下方法 type type typeof class1 object o activator.creat...