【发布时间】:2017-07-03 10:13:44
【问题描述】:
在 C# 中,我可以这样写:
using (new MyDisposableClass().MethodA());
分号会导致显示编译器警告,说明可能存在错误的空语句。上面的代码我没有运行,但是方法还是不会被调用?
这种编码约定有什么用处?我在这里看到了另一个关于这个的帖子,但我问一下,如果现在/因此有不同的回复有什么不同。
谢谢
【问题讨论】:
-
你想用这个子句达到什么目的?
-
使用的重点是该子句定义了变量,而正文是您使用所述变量执行某些操作的地方。如果您按照预期的方式使用该语句,则不会遇到此问题。
-
@unholysampler:不是
variable,而是reference -
这里;有意使用,您可以使用#pragma 关闭此警告
-
@unholysampler 恕我直言,
using的意义在于它定义了您使用一次性资源的范围,然后自动处置它。您不必将其分配给变量,如 ASP.NET MVC 中所示 -using (Html.BeginForm()) { ... }(而不是显式调用Html.EndForm())
标签: c#