gpt4 book ai didi

c# - 如何获取对象是否已在注入(inject)中检索到

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

是否有可能知道特定的依赖关系已经被ninject kernel 满足?明确一点:

假设我们有这个模块:

Bind<IA>().To<A>();
Bind<IB>().To<B>();

还有一些“客户端”代码:

var a = kernel.Get<IA>();

// how to get here "true" for assumption: "IA was requested (once)"
// and "false" for: "IB was not requested ever"

最佳答案

您可以在流畅的绑定(bind)中使用 .Before* 和 .After* 来 Hook 对某物的调用以标记它已使用。或者您可以查看 IDisposable Hook (请参阅源下载中的测试)。

http://kohari.org/2009/03/06/cache-and-collect-lifecycle-management-in-ninject-20/ 中有很好的背景信息也是

关于c# - 如何获取对象是否已在注入(inject)中检索到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2954218/

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