MEF:注入类型和对象?

时间:2011-09-05 17:46:19

标签: .net mef

我想使用MEF构建一个可扩展的.NET应用程序。这非常适合在我的应用程序中发现和注入新类型的实例。我遇到的问题是我使用的某些API不允许注入新对象,而是接收插入对象的类型作为输入,这显然是未知的编译时间。当然我可以在我的代码中解析运行时对象的类型,但为了使API工作,我还必须加载包含插件的程序集,这一步骤显然不在典型的MEF应用程序中执行。我可以在运行时通过扫描将要转储新插件的目录并加载那些dll-s来做到这一点但是这不再感觉非常MEFy ..还有其他方法吗?感谢。

1 个答案:

答案 0 :(得分:3)

  

我可以在运行时通过   扫描将转储新插件的目录并加载它们   dll-s但这不再是MEFy了......还有其他的吗?   方式是什么?

通常你使用MEF来组合对象,而不是找到类型。

但MEF确实实现了您在DirectoryCatalog中描述的内容。您可以使用DirectoryCatalog.Parts属性枚举使用MEF属性导出的零件。