如何检索引用另一个实例的实例[关闭]

问题描述 投票:0回答:1
正如问题已经暗示的那样,我需要检索指向特定实例的实例数量,我已经寻找了一些方法,用谷歌搜索了一下,但是似乎找不到关于该主题的任何东西,是否有可能?

我试图防止在不是最后一个引用该容器的实例的情况下处理UnityContainer,因为它给出了错误的测试失败(该测试本身可以正常工作,但是报告的失败超出了范围)。测试方法),放置UnityContainer的代码是BaseTestClass,恐怕这个容器是从其他测试基类引用或获取的。]

我希望能够在C#代码本身中以编程方式在运行时解决此问题,并使其尽可能通用。

建议的解决方案与我的解决方案的不同之处在于,我需要在运行时使用roslyn。

正如问题已经暗示的那样,我需要检索指向特定实例的实例数量,我已经寻找了一些方法,用google搜索了一下,但是似乎找不到关于该主题的任何东西,是吗...

c# reflection dependency-injection unity-container
1个回答
0
投票
您将必须有效地掌握所有对象实例,并遍历它们之间的引用所引起的对象图。然后,您可以检查您的特定对象是否恰好具有一个进入边缘。那是impossible,无法获取所有对象实例。您必须手动查询整个托管堆(和堆栈)。
© www.soinside.com 2019 - 2024. All rights reserved.