gpt4 book ai didi

mef - mef 中组合容器持有的类的实例

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

我知道 MEF CompositionContainer 创建并保留类的实例。我不知道在什么情况下 CompositionContainer 在其内部有一个类实例。

  • 任何人都可以列出在 CompositionContainer 或 CompositionContainer 类的方法上执行的导致 CompositionContainer 在 CompositionContainer 中存储类的实例的操作。
  • 是否可以在调试器或任何其他方式中查看 CompositionContainer 中保存的类实例?
  • 最佳答案

    CompositionContainer 将在 CompositionContainer 的生命周期内保留对所有共享部分的引用。 (导入和导出的默认 CreationPolicy 均为 Any,这意味着默认情况下,除非另有说明,否则所有部分都将共享。)

    如果部件实现 IDisposable,则将保留对非共享部件的引用。当从容器中拉出的根导出被释放(如果该导出来自非共享部分)时,引用将被释放。可以通过为使用 ExportFactory 创建的导出调用 CompositionContainer.ReleaseExport 或 ExportLifetimeContext.Dispose 来释放导出。

    我认为没有任何简单的方法可以查看 CompositionContainer 所持有的内容。源代码可用,因此您理论上可以深入研究它并找出它的确切存储位置。

    关于mef - mef 中组合容器持有的类的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5633774/

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