1、简单的插件实现流程(使用Info)(方法一)
2、扩展
要想传参就要使用Object对象数组
Object对象数组定义方式C# Object对象数组问题的处理 - 深海地平线 - 博客园
3、点按钮创建插件窗口
C# WinForm:无法访问已释放的对象 - asdyzh - 博客园
遇到的问题:没办法关闭之后再打开窗口
找到的原因:窗口关闭线程并没有关闭,导致无法再次打开
解决方法:关页面前关闭所有后台(详细见线程学习记录)
4、复杂的插件实现(插件可以通过委托事件向宿主传参)(直接函数)(方法二)(推荐)
关于C#插件编程和插件宿主数据传递的一些方法_BamYang的博客-CSDN博客
5、关于程序集(Assembly)
C#反射-Assembly.Load、LoadFrom与LoadFile - DrHao - 博客园
注意事项
最好不要直接拿窗体做插件接口,而是通过一个类库做接口,通过类库去new窗体
关于调试插件的问题
在主体工程中右键“解决方案”,添加现有项目,选中插件项目,把插件项目添加进来;然后主体项目中右键“引用”,引用插件项目;最后一点,主体读取的dll文件必须是插件项目最新生成的dll文件。这样就能调试插件了。