我的最终目标是将控件作为插件加载,以用作AvalonDock中的DocumentContent。因此,我需要能够创建这些控件的多个实例,并且我希望尽可能为插件创建者提供有限的开销。
我最初的意图是使用MEF来定位和管理我的插件,但是this question似乎意味着,至少在这个时间点,MEF可能不适用于此。
我是否应该使用其他解决方案(DI容器的域名,或MEF的域名,被认为仅限于提供类的实例,是否有另一种解决方案更好地映射到我的问题),或者我应该使用建议的解决方案(例如使用反射来克隆实例,或者要求插件创建者提供工厂方法/对象 - 看似hackish)与MEF一起工作(或者,是否有一种简单的方法来配置MEF来完成此操作)?
答案 0 :(得分:2)
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。