如何使用MEF的GetExport \ ImportDefinition?

时间:2010-10-09 07:58:55

标签: c# mef

我有一个主项目,还有一系列dll,它们具有某些接口的特定实现以及view \ viewmodels等。我使用{ImportMany]来获取所有元数据,这允许我选择一个,这让我参考了ISystem的具体实现。

我想从ISystem选择的任何dll中获取IDisplay的唯一具体实现,我用[Export(“SomeDisplay”,typeof(IDisplay))标记了] 到目前为止,我能找到的唯一看起来可能有用的东西是GetExports(ImportDefinition),但我不明白如何创建一个可行的ImportDefinition,因为它似乎想要一个特定的合同名,而不是直到运行时才知道

当然,因为我仍然是MEF n00b,所以我做错了是个不错的选择:D 那么,如果GetExports是最好的方式,我怎么能让它工作?或者我有更好的方式使用它吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

您需要考虑提供元数据以及MEF导出。

有关详细信息,请参阅这些文章和博文: