实现使用块以实现dispose的好处时,例如
using (var window = new DialogWindow(Dialogs.MyDialogType))
{
//Some action here
}
Run Code Online (Sandbox Code Playgroud)
我得到一个明显的resharper/visual studio警告,从不使用局部变量窗口,因为在使用体中没有提到它.
这在技术上是正确的,有没有办法声明这样的变量,这些变量没有在使用体中明确使用,但是一旦using语句终止,将调用谁的dispose方法?
叫我一个整洁的吸盘,但我不喜欢在整个地方突然出现灰色警告.
如果您不使用它,请将其留下.以下是完全有效的:
using (new DialogWindow(Dialogs.MyDialogType))
{
//Some action here
}
Run Code Online (Sandbox Code Playgroud)
我们在基础架构中经常使用它,因为我们IDisposable用来记录代码块的进入/退出,所以我们可以这样做:
using (_log.Enter("some block")) {
}
Run Code Online (Sandbox Code Playgroud)
没有赋值变量,但是using会正常处理对象.