.net - MEF:将类型与对象一起注入(inject)?

标签 .net mef

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

最佳答案

I could do that at runtime by scanning the directory where new plugins will be dumped and load those dll-s but this does not feel very MEFy anymore .. Is there some other way?

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

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

关于.net - MEF:将类型与对象一起注入(inject)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7311276/

相关文章:

.net - azure 中的多个网络角色

.net - 模拟 WCF 客户端的 IQueryable 成员

.net - 为所有新命令对象设置自定义默认命令超时

c# - 使用反射计算代码行数的简单方法

wpf - 如何在 VSIX MEF 扩展中为控件重用 Visual Studio WPF 样式?

c# - 结合 MEF 和 IoC 容器

c# - 这些枚举代码的功能相同吗?

.net - 使用 ImportMany 属性时如何要求至少导入一个部件?

.net - MEF - 每个进口都需要导出吗?

c# - 由于程序集名称而导致 MEF 组合错误?