逐步解说: 插件
来源:互联网 发布:求质数的算法程序设计 编辑:程序博客网 时间:2024/04/28 12:41
插件是一种遵循一定规范的应用程序接口编写出来的程序。
*编译出的 dll 文件不能改变文件名称,否则会出现“找到的名为'ChildFrm'的程序集清单定义与程序集引用不匹配”
*本例子是以 windows 运行方式演示的,Asp.net下也类似,不过文件名称的读取如下:
string sv=ConfigurationSettings.AppSettings["file name"]; //从 Web.config 中读取(已试验)
1、创建一个ClassLibray程序,在这个ClassLibray中定义一个接口作为插件接口
这个dll将为 Windows程序 Main.exe 和 插件ClassLibray提供 公共接口定义
//命名 InfBase.dll
namespace InfBase
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
public interface IChildFormBase
{
int Open(string s);
}
}
2、创建一个Windows程序:Main.exe,增加插件接口 InfBase.dll的引用。
3. 创建插件 ChildFrm1.dll
namespace InfBase
{
public class ChildFrm:IChildFormBase
{
public ChildFrm()
{
}
//实现插件接口定义的 Open(string s)方法
public int Open(string s)
{
return 0;
}
}
}
4. 在Windows程序 Main.exe 中使用插件:
if(openFileDlg.ShowDialog() == DialogResult.OK)
{
string filename=openFileDlg.FileName;
//Load一个ClassLibrary: 插件
Assembly a = Assembly.LoadFrom(filename);
//使用 命名空间(namespace),利用.net的反射机制将对象创建起来
//所以,所有的插件使用一个有规律的命名空间,例如使用相同的命名空间或,便于主程序创建插件中的对象
object obj=a.CreateInstance("InfBase.ChildFrm");
if(obj!=null)
{
//将object强制转换成插件接口
IChildFormBase f=(IChildFormBase)obj;
int v=f.Open("test");
MessageBox.Show(v.ToString());
}
}
- 逐步解说: 插件
- 逐步解说: 将Web Form网页国际化
- 逐步解说: 将Web Form网页国际化
- 逐步解说: 将Web Form网页国际化
- 昨日关注:逐步解说: 将Web Form网页国际化
- 逐步解说:在JavaScript中订阅Redis缓存的消息
- Stream上传插件(详细解说)
- 一个解说jquery弹出框插件很好的网页
- jQuery 关于ajaxfileupload.js插件的逐步解析(ajaxfileupload.js第二弹)
- 移动端---实现碎片图片逐步拼凑完整图像效果的插件
- eclipse·插件安装的3种方法(图文详细解说)
- jBox的 详细解说与介绍, 好用的jquery对话框插件
- mave插件的安装和使用maven创建项目详细解说
- fstab解说!
- 众评黄健翔解说
- Tomcat解说
- prototype解说
- CPU解说
- XML 规范化形式简介(from http://www-900.ibm.com/developerWorks/cn/xml/x-c14n/)
- 将数字字符串人民币转化成大写字符串人民币
- 阻碍你成功的八种坏习惯
- 缩略图调优---各种格式的缩略图大小比较
- 监视服务器进程
- 逐步解说: 插件
- 《圣女之歌2:撒雷母天使》超强全攻略
- 《圣女之歌2:撒雷母天使》超强全攻略2
- ca
- 使用 TreeView IE Web 控件
- 献给所有的女性
- 科学文明的形成、发展和完成(总论草稿)
- 寰神结全攻略 一
- 寰神结全攻略2