使用块

时间:2017-01-23 16:36:51

标签: c# using

刚刚进行了一些重构代码并且困惑地看到类似于以下内容的

public class FooDisposable : IDisposable { }

using (var foo = new FooDisposable())
{
    EagerToDisposeMethod(foo);
    //Do something else with foo
}

void EagerToDisposeMethod(FooDisposable fooDisposable)
{
    using (fooDisposable)
    {
        //...
    }
}

想知道它将在什么时候准备好处置?

另外,为什么这至少不能成为编译器警告,"尝试处理当前范围内未创建的内容"?

在c#中,使用块可以知道同一资源上的环境使用(如TransactionScope等)吗?

0 个答案:

没有答案