c# - 如何避免 MEF 中的冗余导入?

标签 c# .net mef redundancy

这就是问题所在...如果我使用,比如 MEF 中的目录编目,并且有 some.dll 和 some.dll 的副本,我将获得双倍的导出,即使它们定义的是相同的类型,是否有解决这个问题的方法?

编辑:问题不在于这个特定问题,这只是一个真实问题的抽象示例,例如,如果我有一个“扩展”文件夹,以及一种手动导入的方法……这只是一些事情那会很好处理。

最佳答案

您可以使用 FilteredCatalog(不是核心 MEF 分发的一部分。)查看示例:http://mef.codeplex.com/wikipage?title=Filtering%20Catalogs

您可以使用 Distinct,而不是通过 Where 从内部目录中选择。要比较 ComposablePartDefinition 是否相等,最简单的选择是使用 ToString,但转换为 ReflectionComposablePartDefinition 也是一种选择。

喂, 尼克

关于c# - 如何避免 MEF 中的冗余导入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3488893/

相关文章:

c# - 位图源与位图

C# 线程任务 - 无法从任务数组中获取返回值

C# 当父应用程序关闭时关闭子应用程序

c# - Function 还是 async 可以细化吗?

c# - 如何从通过 MEF 注入(inject)的代码创建向导界面?

c# - MEF 4.5 中缺少 CompositionInitializer。我可以用什么代替?

c# - 错误 : Could not load file or assembly 'Microsoft. Practices.ServiceLocation,版本 = 1.0.0.0

c# - 从客户端 (<) 检测到潜在危险的 Request.Path 值

.net - 如何从另一个 .NET 进程获取对象的句柄?

c# - 如何在 .net-core System.Composition (Mef) 中设置 CreationPolicy 单例