C#.net中的插件开发方法

时间:2015-12-03 10:57:33

标签: c# plugins architecture windows-services task-parallel-library

我正在进行插件开发,我必须以这种方式构建应用程序的体系结构,如果其他开发人员将来添加一些组件,那么它应该在不编译代码的情况下运行它应该从config读取一些配置/ xml文件并根据对象类型动态加载特定插件。我使用Activator加载特定的程序集。

 dynamic instance = Activator.CreateInstance(type);

我为每个组件创建了类库,并根据配置设置动态加载程序集。我想知道这是否是一种有效的方法?我能否以更正确的方式实现此要求,因为我还需要使用TPL(任务流程库)在c#.net中并行处理任务

感谢。

1 个答案:

答案 0 :(得分:0)

您应该查看IOC的可用解决方案之一。

MEF是一个很好的,但暗示在你的类上使用装饰来定义导出/导入。

如果您需要xml / json文件配置,您应该查看 AutofacUnityCastle

当然,所有这些解决方案都与Task Parallel Library兼容。 :)