c# - 如何在 C# 中开发基于动态插件的功能

标签 c# dynamic plugins extensibility menu

我一直在寻找为我的应用程序提供插件支持的不同方法。理想情况下,我将创建一个核心功能,并根据不同的客户开发不同的插件/附加组件,例如导入、导出数据等......有哪些方法可用于通过插件架构扩展 C# 应用程序?

让我们举个例子。如果我们有一个程序,其中包含一个主菜单(文件、编辑、 View 等)以及一个显示按制造商(目前为福特、通用汽车)分组的不同品牌汽车的 TreeView。右键单击汽车会显示上下文菜单,其中唯一的选项是“删除汽车”。

您如何开发应用程序以便可以部署插件,以便您可以让一位客户在 TreeView 中看到一个新品牌,比方说本田,还可以扩展汽车上下文菜单,以便他们现在可以“画一辆车'?

在 Eclipse/RCP 开发中,这很容易通过扩展点和插件来处理。 C# 是如何处理的?我一直在研究开发自己的插件架构并阅读 MEF。

最佳答案

MEF将是一个很好的起点。

Glenn Block 的文章 Managed Extensibility Framework: Building Composable Apps in .NET 4 with the Managed Extensibility Framework提供了很好的概述。

顺便说一句,不要被标题所迷惑 - 您还可以获得适用于 .NET 3.5 SP1 的 MEF。

关于c# - 如何在 C# 中开发基于动态插件的功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2949879/

相关文章:

cordova - Phonegap :difference between capture. captureImage 和 camera.getPicture

c# - 处理 LuaInterface 中的语法错误

c# - 从对象创建动态 Func<T, TResult>

c# - 如果其中一个 subview 的值在 Windows 8.1 应用程序中更新,如何更新父 ViewModel 中的值

python-2.7 - Python 动态子类化

C++ 存储输入行

java - 我为 AspectJ 使用哪个 maven 插件?

java - 将 Java 项目转换为 IntelliJ IDEA 插件?

c# - 强制 Entity Framework 查询数据库

c# - 从用户选择的复选框添加总计时出现问题