这就是问题所在...如果我使用,比如 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/