首页 > 代码库 > 通过反射获取DLL的类实现加载窗体

通过反射获取DLL的类实现加载窗体

1.创建一个DLL 类库,并新建一个窗体类,这个直接在vs上操作就好

 

2. 建立一个Testassembly工程

 

新建一个测试类

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);            //获取类型,参数(名称空间+类)               Type type = assembly.GetType("TestDll.Form1");            //创建该对象的实例,object类型,参数(名称空间+类)                          // System.Reflection.MethodInfo method = type.GetMethod("Show");//方法的名称            object instance = assembly.CreateInstance("TestDll.Form1");            Form frm = (Form)instance;            frm.Show();           // method.Invoke(instance,Object[] parametors = new Object[] { "param" });        }    }}

  

效果就是弹出一个新的窗口

通过反射获取DLL的类实现加载窗体