2011-09-05 63 views
2

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

回答

3

我能做到这一点,在通过 运行扫描,其中新的插件将倾,并加载这些DLL -S但这并不觉得很MEFy了..有一些其他 方式的目录?

通常情况下,您使用MEF编写对象,而不是查找类型。

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