using语句中未使用的局部变量

JL.*_*JL. 1 c#

实现使用块以实现dispose的好处时,例如

using (var window = new DialogWindow(Dialogs.MyDialogType))
{
    //Some action here
}
Run Code Online (Sandbox Code Playgroud)

我得到一个明显的resharper/visual studio警告,从不使用局部变量窗口,因为在使用体中没有提到它.

这在技术上是正确的,有没有办法声明这样的变量,这些变量没有在使用体中明确使用,但是一旦using语句终止,将调用谁的dispose方法?

叫我一个整洁的吸盘,但我不喜欢在整个地方突然出现灰色警告.

Jam*_*rpe 7

如果您不使用它,请将其留下.以下是完全有效的:

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会正常处理对象.