这是问题...如果我使用,说MEF中的目录编目并有some.dll和some.dll的副本,我将获得双倍的导出,即使他们定义相同的类型,是否有解决这个问题的方法?
编辑:问题不在于这个特定的问题,这只是一个真实问题的抽象例子,例如,如果我有一个“扩展”文件夹,以及一种手动导入的方法...它只是一些东西这很好处理。答案 0 :(得分:4)
您可以使用FilteredCatalog
(不是核心MEF发布版的一部分)执行此操作。请参阅此处的示例:http://mef.codeplex.com/wikipage?title=Filtering%20Catalogs
您可以使用Where
,而不是通过Distinct
从内部目录中进行选择。要比较ComposablePartDefinition
的相等性,最简单的选择是使用ToString
,但转换为ReflectionComposablePartDefinition
也是一种选择。
HTH, 尼克
答案 1 :(得分:0)
有办法解决这个问题吗?
有两种选择: