利用反射动态加载插件的简单例子[xgluxv]

简介:

最近想学习一下.net window form的编程知识,在ms的网站上浏览的时候看到一个 可扩展程序的例子,就是可以动态加载一个个dll,使之在主窗口中可以看到并获取dll的功能。我把代码修改了一下,好像条例更清楚一点了 :)
这里提供源代码
代码里有三个项目
ExtensiableApi:定义了两个接口,一个纯虚类,在ExtensionAPI.cs文件里,IToolBarProvider,IMenuProvider,DocumentForm 这个项目 无论是主程序还是插件在实现时必须都要引用,主程序就是依靠这些接口和类把插件里的信息提取出来,相应的也之后实现了这些接口和类的项目,才能作为我们这个程序的插件使用。

ExtensiableApp:项目里 ExtensibleAppForm 是主程序的窗口,他会把插件里实现的IToolBarProvider,IMenuProvider作为他的菜单项和工具栏里的项,而把实现类DocumentForm 作为菜单里New项的一个子项。本项目的核心其实都在PluginManager.cs中,里面实现了如何创建一个临时的domain,如何利用反射动态提取插件里的内容,如果实例化反射出来的类。需要重点看一下。

Example1:简单实现了ExtensiableApi里的接口和类的例子。

路漫漫其修远兮 吾将上下而求索



本文转自 lu xu 博客园博客,原文链接:http://www.cnblogs.com/dotLive/archive/2006/09/18/507689.html   ,如需转载请自行联系原作者

相关文章
|
6月前
|
JavaScript API
带你读《现代TypeScript高级教程》十五、装饰器与反射元数据(2)
带你读《现代TypeScript高级教程》十五、装饰器与反射元数据(2)
|
6月前
|
JavaScript 前端开发
带你读《现代TypeScript高级教程》十五、装饰器与反射元数据(1)
带你读《现代TypeScript高级教程》十五、装饰器与反射元数据(1)
|
算法 Java
Java常用类(4)--System类
Java常用类(4)--System类
62 0
Java常用类(4)--System类
【Groovy】MOP 元对象协议与元编程 ( 方法注入 | 使用 @Mixin 注解进行方法注入 | Mixin 混合多个类优先级分析 )
【Groovy】MOP 元对象协议与元编程 ( 方法注入 | 使用 @Mixin 注解进行方法注入 | Mixin 混合多个类优先级分析 )
120 0
UI5控件类似Java反射机制的一个小技巧
UI5控件类似Java反射机制的一个小技巧
UI5控件类似Java反射机制的一个小技巧
导入其他包,轻松实现跨包调用 | 带你学《Java面向对象编程》之六十八
本节为读者介绍了不同的包之间如何调用其内的类-使用import导入其他包内容。