我有一个主项目,还有一系列dll,它们具有某些接口的特定实现以及view \ viewmodels等。我使用{ImportMany]来获取所有元数据,这允许我选择一个,这让我参考了ISystem的具体实现。
我想从ISystem选择的任何dll中获取IDisplay的唯一具体实现,我用[Export(“SomeDisplay”,typeof(IDisplay))标记了] 到目前为止,我能找到的唯一看起来可能有用的东西是GetExports(ImportDefinition),但我不明白如何创建一个可行的ImportDefinition,因为它似乎想要一个特定的合同名,而不是直到运行时才知道
当然,因为我仍然是MEF n00b,所以我做错了是个不错的选择:D 那么,如果GetExports是最好的方式,我怎么能让它工作?或者我有更好的方式使用它吗?
谢谢!
答案 0 :(得分:2)
您需要考虑提供元数据以及MEF导出。
有关详细信息,请参阅这些文章和博文: