c 反射呼叫方法及屬性總結

2021-10-12 14:13:10 字數 1084 閱讀 8263

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...