gpt4 book ai didi

c# - 如何使用 MEF 的 GetExport\ImportDefinition?

转载 作者:太空宇宙 更新时间:2023-11-03 11:43:58 25 4
gpt4 key购买 nike

我有主项目和一系列 dll,这些 dll 具有某些接口(interface)的特定实现以及 view\viewmodels 等。我使用 {ImportMany] 将它们全部与一些元数据一起获取,这使我可以选择一个,这让我引用了ISystem的具体实现。

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

当然,因为我仍然是 MEF n00b,所以我敢打赌我做错了 :D那么,如果 GetExports 是最好的方法,我怎样才能让它发挥作用呢?或者我应该使用更好的方法吗?

谢谢!

最佳答案

您需要考虑在 MEF 导出的同时提供元数据。

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

关于c# - 如何使用 MEF 的 GetExport\ImportDefinition?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3896515/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com