gpt4 book ai didi

mef - MEF 中的运行时导入和导出如何工作?

转载 作者:行者123 更新时间:2023-12-04 06:38:19 26 4
gpt4 key购买 nike

我开始学习,MEF 和其中一件重要的事情是我可以用导出属性标记一些项目(类、属性、方法),以便任何想要使用它的人都会在实例变量上创建导入属性并使用它。这种映射是如何发生的,何时发生?导入是按需延迟发生还是所有组合都在启动时发生?对不起,无知的问题,我试图理解流程。

最佳答案

它发生在称为“组合”的阶段。首先,您创建一个容器并将所有可能的零件来源加载到其中,然后您Compose它。当您进行组合时,它会解析所有依赖项,并在无法正确解析所有依赖项时抛出异常。

通常,您的部件在组合过程中被实例化(如果您在部件类的构造函数中设置断点,您将在调用 Compose() 期间看到断点命中)。但是,如果您使用 Lazy<T>,您可以直接覆盖它。作为您的导入类型(假设您将零件导出为类型 T )。

要了解码合的工作原理,请查看 Compose()方法 here .

关于mef - MEF 中的运行时导入和导出如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4597720/

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