基於.net框架下的插件系統的實現方法(補充)

實現方法:

一、新建一Class Library工程,命名爲Test ;

二、新增一WindowsForm,名稱爲Form1;

三、編碼成Test.dll文件;

四、新建一Windows Application工程,名稱隨便;

五、在窗口中放一命令按鈕,雙擊命令按鈕給按鈕增單擊事件,事件的代碼如下:

        private void button1_Click(object sender, EventArgs e)
        {
            string lpFileName = "Test.dll";
            string Namespace = "Test";
            string ClassName = "Form1";

            try
            { // 載入程序集
                Assembly MyAssembly = Assembly.LoadFrom(lpFileName);
                Type[] type = MyAssembly.GetTypes();
                foreach (Type t in type)
                {// 查找要調用的命名空間及類
                    if (t.Namespace == Namespace && t.Name == ClassName)
                    {
                        object[] args2 = new object[] { FormWindowState.Maximized };
                        object o = Activator.CreateInstance(t);
                        o.GetType().InvokeMember("WindowState", BindingFlags.SetProperty, null, o, args2);
                        o.GetType().InvokeMember("Show", BindingFlags.InvokeMethod, null, o, null);
                    }
                }
            }
            catch (System.NullReferenceException f)
            {
                MessageBox.Show(f.Message);
            }
        }

五、把Test.dll文件拷入第二工程文件所在的路徑底下的/bin/Debug底下

六、編譯執行,單擊命令按鈕即可實現。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章