classlibrary1.dll內容
using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.threading.tasks;
namespace classlibrary1=11
;string str
="abc"
;public
intadd
(int a,
int b)
private
intmultiply
(int a,
int b)
}}
呼叫
public
void
loaddllfile()
);//呼叫有引數方法
//foreach (var type in assembly.gettypes())找的是命名空間下的類名
////}
}
呼叫方法或者屬性分為5步
載入dll檔案 assembly assembly = assembly.loadfrom(「classlibrary1.dll」);
獲取類名 type type = assembly.gettype(「classlibrary1.class1」);
建立例項 object oreflection = activator.createinstance(type);
獲取方法例項或者屬性例項 methodinfo,propertyinfo
呼叫object d = propertyinfo.getvalue(oreflection);//獲取屬性
// propertyinfo.setvalue(oreflection, 11);//設定屬性
// methodinfo.invoke(oreflection,null);//呼叫無引數方法
object c= methodinfo.invoke(oreflection, new object );//呼叫有引數方法
C 通過反射呼叫類及方法
反射有個典型的應用,就是選單的動態載入,原理就是通過反射呼叫某個窗體 類 下面演示python基礎教程 一下通過反射呼叫類及方法 1 新建乙個類,命名為 reflectionhelper,如下 region 建立物件例項 建立物件例項 物件型別 程式集名稱 命名空間 類名 public static...
C 通過反射呼叫類及方法
反射有個典型的應用,就是選單的動態載入,原理就是通過反射呼叫某個窗體 類 下面演示一下通過反射呼叫類及方法 1 新建乙個類,命名為 reflectionhelper,如下 region 建立物件例項 建立物件例項 物件型別 程式集名稱 命名空間 類名 public static t createin...
C 通過反射呼叫方法
用反射呼叫方法 常用於軟體架構中 假如你定義好了基類和介面,其他人使用基類派生出新的方法,你在不知道有多少類會使用此基類派生,但是你需要呼叫所有的派生類的方法時,就可以這樣,直接遍歷相同命名空間中的由基類派生的所有類,然後例項化所有類,呼叫所有方法 using system using system...