利用反射方式,動態引用程式集建立類

2022-02-17 15:30:21 字數 731 閱讀 2474

為更好的**重用,公司做了一套winform的框架,整合資料操作\使用者許可權等功能,並進行相應的封裝.

基於此框架可以任意新建應用,然後通過資料庫配置,使用框架呼叫新開發程式集中的類或窗體就可以了,基於這種想法,採用反射的實現方式.

根據建構函式不同,可以使用預設的建構函式,或帶參的建構函式(可以在資料庫中配好引數型別等,具體值在呼叫時傳入). 一小段**

1private

void

creatunits(

string

pstrbuildingid)212

13assembly assembly =+

"\\"+

strassembly);

14type type 

=assembly.gettype(frmname);

15object

args =;

16form frmchild 

=(form)activator.createinstance(type,args);

17frmchild.mdiparent 

=this;18

frmchild.windowstate 

=formwindowstate.normal;

19frmchild.show();

20frmchild.dock 

=system.windows.forms.dockstyle.fill;

//平鋪,最大化21}

C 利用反射實現動態引導程式集簡單案例

反射可以不但用來讀取元資料,還可以使用反射從編譯時還不清楚的型別中動態建立程式集,此案例摘自c 高階程式設計。首先先建立乙個控制台應用程式,然後新增乙個類庫,類庫名稱為calculatorlib,如下圖所示 calculatorlib程式集中有兩個方法,引數是x和y,乙個方法返回兩數之和,另乙個方法...

利用反射建立UI之動態建立按鈕方法。

private void barbuttonitem itemclick object sender,itemclickeventargs e else m methodinfo hashpopupitem e.item.name m.invoke new popoumenumethod new o...

利用Assembly動態引導程式集

在程式開發中,經常需要呼叫到外部的dll,所以需要反射技術,動態的引導程式集,方便呼叫.例如我們建立乙個這樣的類 namespace user public showname string name public string name set private string name public ...