c# – 管理Disposable类依赖注入

前端之家收集整理的这篇文章主要介绍了c# – 管理Disposable类依赖注入前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想知道如何使用DI管理对象.假设我有一堂课
class Foo : IFoo,IDisposable
{
    // ...
}

然后这个类被注入另一个类

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

    IFoo Foo { get; set; }
 }

然后我在一些范围内绑定它(我的例子使用MVC和Ninject)

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

我想知道,因为依赖注入框架处理Foo的生命周期,我应该在Bar中实现IDispoable吗?我的想法是DI正在管理Foo的生命周期,所以不要触摸它,以防其他类使用Foo.此外,由于一次性对象作为构造函数参数传递到Bar,因此Bar不会包装一次性对象,因此在Bar被垃圾回收后,它不知道Bar的调用者如何使用Foo.这是正确的吗?

解决方法

是的,你的假设是正确的. Ninject会为你处理这个物体.

猜你在找的C#相关文章