所以我们先设计一下设计。我有一个带按钮的组合框,我有一个插件文件夹。
假设我在plugins文件夹中有一个插件imageeffect.cs。这个类必须具有诸如“标题”之类的属性。我的程序得到这个“标题”并用这个标题动态加载组合框。所以现在我的程序识别插件。现在当用户点击按钮时,我希望将一些数据(由我的程序处理)传递给imageeffect.cs插件,在该插件中它执行任何工作并返回状态。
所以回顾一下。我的程序读取一个插件目录。将每个插件的“title”属性(定义为创建插件的人)加载到组合框中。当用户单击按钮时,“数据”或在这种情况下图像被发送到插件,插件可以对其进行操作。它然后返回“状态”,或者在这种情况下返回一张具有所需效果的图片。
答案 0 :(得分:9)
答案 1 :(得分:4)
我写了一篇博客帖子,说明了一个非常简单的插件系统。这可能足以满足您的需求:
http://crazorsharp.blogspot.com/2009/03/net-reflection-part-2-loading.html
答案 2 :(得分:0)
确定。首先,我建议你的插件是.dlls编译而不仅仅是.cs文件。但是,如果您只想使用.cs文件,请先看一下:
http://www.codeproject.com/KB/cs/livecodedotnet.aspx
然后为了实现插件系统,请看看这篇文章:
http://www.codeproject.com/KB/cs/c__plugin_architecture.aspx
希望有所帮助:)