如何统一处理瞬态解析对象

时间:2018-06-12 10:14:18

标签: c# unity-container

这是我的约束人:

public class Foo
{
    private ICar car;
    public Foo()
    {
        car = CurrentUnityContainer.Container.Resolve<Car>();
    }
    public MyMethod()
    {
        car.DoSomething();
    }
}

我手动解决了Car类,我的问题是如何处理汽车对象?我们有内存泄漏问题,并认为因为我们不处理这些对象是我们的问题。

1 个答案:

答案 0 :(得分:0)

如果是短暂的,你可以在处置Foo时将其丢弃吗?

public class Foo : IDisposable
{
    private ICar car;
    public Foo()
    {
        car = CurrentUnityContainer.Container.Resolve<Car>();
    }
    public MyMethod()
    {
        car.DoSomething();
    }

    public void Dispose()
    {
        car.Dispose();
    }
}

因为每个分辨率都应该创建一个新的Car实例。