gpt4 book ai didi

c# - 管理一次性类依赖注入(inject)

转载 作者:太空狗 更新时间:2023-10-29 21:34:50 25 4
gpt4 key购买 nike

我想知道如何使用 DI 管理对象。假设我有一个类

class Foo : IFoo, IDisposable
{
// ...
}

然后这个类被注入(inject)到另一个类中

class Bar
{
public Bar(IFoo foo)
{
this.Foo = foo
}

IFoo Foo { get; set; }
}

然后我在某个范围内绑定(bind)它(我的示例使用 MVC 和 Ninject)

this.Bind<IFoo>().To<Foo>().InRequestScope();

我想知道,既然依赖注入(inject)框架处理了 Foo 的生命周期,我是否应该在 Bar 中实现 IDispoable?我的想法是 DI 正在管理 Foo 的生命周期,所以不要碰它,以防另一个类正在使用 Foo。此外,由于一次性对象作为构造函数参数传递给 BarBar 不会包装一次性对象,因此它不会知道 Bar 的调用者如何在 Bar 被垃圾回收后使用 Foo。这样对吗?

最佳答案

是的,您的假设是正确的。 Ninject 将为您处理该对象。

关于c# - 管理一次性类依赖注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13746972/

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