【问题标题】:How should I create plugins with multiple instances in C#?我应该如何在 C# 中创建具有多个实例的插件?
【发布时间】:2009-09-01 21:02:34
【问题描述】:

我的最终目标是将控件加载为插件,在 AvalonDock 中用作 DocumentContent。因此,我需要能够创建这些控件的多个实例,并且我希望尽可能减少插件创建者的开销。

我最初的意图是使用 MEF 来定位和管理我的插件,但 this question 似乎暗示,至少在这个时间点,MEF 可能不适合此。

我是否应该使用另一种解决方案(是 DI 容器的域,或者特别是 MEF,被认为仅限于提供类的实例,并且是否有另一种解决方案可以更好地解决我的问题),或者我应该使用建议的解决方案(例如使用反射来克隆实例,或要求插件创建者提供工厂方法/对象 - 看似 hackish)来使用/围绕 MEF(或者,是否有一种简单的方法来配置 MEF 来完成这个)?

【问题讨论】:

    标签: c# plugins mef


    【解决方案1】:

    MEF 的最新预览版包含一种专门用于此场景的类型 - 请参阅此处的博文:http://blogs.msdn.com/nblumhardt/archive/2009/08/28/dynamic-part-instantiation-in-mef.aspx 或 MEF wiki 上的更多信息:http://mef.codeplex.com/Wiki/View.aspx?title=PartCreator&referringTitle=Home

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-11
      • 2011-12-28
      • 1970-01-01
      • 2023-03-25
      • 2020-04-06
      相关资源
      最近更新 更多