刚刚进行了一些重构代码并且困惑地看到类似于以下内容的
public class FooDisposable : IDisposable { }
using (var foo = new FooDisposable())
{
EagerToDisposeMethod(foo);
//Do something else with foo
}
void EagerToDisposeMethod(FooDisposable fooDisposable)
{
using (fooDisposable)
{
//...
}
}
想知道它将在什么时候准备好处置?
另外,为什么这至少不能成为编译器警告,"尝试处理当前范围内未创建的内容"?
在c#中,使用块可以知道同一资源上的环境使用(如TransactionScope等)吗?