1. 用type
在 website 下
userdao userdao = (userdao)type.gettype(userdaopath).
getconstructor(system.type.emptytypes).invoke(null );
如果構造方法有引數的話,這樣。
//定義引數型別陣列type tps = new type[2];
tps[0] = typeof(int);
tps[1] = typeof(string);
//定義引數陣列
object obj = new object[2];
obj[0] = (object)100;
obj[1] = (object)"param example";
userdao userdao = (userdao)type.gettype(userdaopath).
getconstructor(tps).invoke(obj );
2. 用assembly
在 website 下 這個是匯入乙個 程式集 然後在程式集裡再 例項化類, 我這裡其實就是例項化乙個類。
string userservicepath = system.configuration.configurationsettingsuserservice userservice = (iuserservice)assembly.load(userservicepath).
createinstance("userservice");
C 反射通過類名例項化類
在物件導向程式設計的時候,會遇到這樣的問題,乙個父類有多個子類,需要建立乙個父類的物件,再後面根據條件去把該物件例項化具體的某個子類,然後進行操作。當然用if else 或者switch來做也可以,但是後期擴充套件性不好,特別是要把這些類封裝成dll提供給被人用,更不合適了。這時候反射就提供了很好的...
C 反射通過類名例項化類
在物件導向程式設計的時候,會遇到這樣的問題,乙個父類有多個子類,需要建立乙個父類的物件,再後面根據條件去把該物件例項化具體的某個子類,然後進行操作。當然用if else 或者switch來做也可以,但是後期擴充套件性不好,特別是要把這些類封裝成dll提供給被人用,更不合適了。這時候反射就提供了很好的...
C 反射 通過類名建立類例項
反射 其實就是利用程式集的元資料資訊。反射可以有很多方法,編寫程式時請先導入 system.reflection 命名空間。2 若要反射當前專案中的類 即當前專案已經引用它了 可以為 3 也可以為 參考 反射幫助類 public static class reflectionhelper 建立物件例...