通过反射获取DLL的类实现加载窗体
生活随笔
收集整理的這篇文章主要介紹了
通过反射获取DLL的类实现加载窗体
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1.創(chuàng)建一個(gè)DLL 類(lèi)庫(kù),并新建一個(gè)窗體類(lèi),這個(gè)直接在vs上操作就好
?
2. 建立一個(gè)Testassembly工程
?
新建一個(gè)測(cè)試類(lèi)
namespace Testassembly {public partial class Form1 : Form{public Form1(){InitializeComponent();}private void Form1_Load(object sender, EventArgs e){string ss = AppDomain.CurrentDomain.BaseDirectory + "Debug\\TestDll.dll";Assembly assembly = Assembly.LoadFile(ss);//獲取類(lèi)型,參數(shù)(名稱(chēng)空間+類(lèi)) Type type = assembly.GetType("TestDll.Form1");//創(chuàng)建該對(duì)象的實(shí)例,object類(lèi)型,參數(shù)(名稱(chēng)空間+類(lèi)) // System.Reflection.MethodInfo method = type.GetMethod("Show");//方法的名稱(chēng)object instance = assembly.CreateInstance("TestDll.Form1");Form frm = (Form)instance;frm.Show();// method.Invoke(instance,Object[] parametors = new Object[] { "param" });}} }
效果就是彈出一個(gè)新的窗口
轉(zhuǎn)載于:https://www.cnblogs.com/meetweb/p/6055821.html
總結(jié)
以上是生活随笔為你收集整理的通过反射获取DLL的类实现加载窗体的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: php fastcgi_finish_r
- 下一篇: 洛谷P1119 灾后重建[Floyd]