基于.net框架下的插件系统的实现方法(补充)
2008-06-10 20:12
537 查看
实现方法:
一、新建一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底下
六、编译执行,单击命令按钮即可实现。
一、新建一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底下
六、编译执行,单击命令按钮即可实现。
相关文章推荐
- 基于.net框架下的插件系统的实现方法(补充)
- 基于.net框架下的插件系统的实现方法
- 基于.net框架下的插件系统的实现方法
- 基于.net框架下的插件系统的实现方法
- 基于AVI的网络视频监控存储系统的实现方法
- 基于GIS、、geosever插件实现当地旅游资源网格化管理系统的架构
- 基于报警系统通信数据包的合理构造与正确解析的实现方法
- JavaScript实现写入文件到本地的方法【基于FileSaver.js插件】
- 物流系统车辆仓库定位的实现——基于RFID定位的实现方法
- sql server 关于表中只增标识问题 C# 实现自动化打开和关闭可执行文件(或 关闭停止与系统交互的可执行文件) ajaxfileupload插件上传图片功能,用MVC和aspx做后台各写了一个案例 将小写阿拉伯数字转换成大写的汉字, C# WinForm 中英文实现, 国际化实现的简单方法 ASP.NET Core 2 学习笔记(六)ASP.NET Core 2 学习笔记(三)
- 基于sae实现多人文件管理系统的MantisBT 插件
- 基于Delphi的三层数据库系统的实现方法
- 基于Delphi的三层数据库系统的实现方法
- 基于AVI的网络视频监控存储系统的实现方法
- 《node.js开发指南》微博系统 4.x版 2016年最新实现方法(基于mysql,使用sequelize)
- 基于slimscroll与bootstarp插件实现非常好用应用系统表格展示
- 基于MEF打造的插件系统的实现详解
- 基于Delphi的三层数据库系统的实现方法
- Oracle VM VirtualBox 在linux系统下安装增强插件实现访问主机的共享文档方法
- 基于android2.3.5系统:explicit关键字应用方法详解