这可能是一个愚蠢的问题,但由于我不能自己给出答案,我会在这里提出.
让我们在http处理程序中使用一个模块(Web应用程序是使用ASP.NET用C#编写的),并让这个模块实现IDisposable接口.然后一个常见的方法是使用如下模块:
using(var module = new ModuleName(param1, param2, param3))
{
}
Run Code Online (Sandbox Code Playgroud)
是否更好地将任何代码放在我们将仅在此using语句的主体内部或之前使用的变量中.在代码方面:
是第一种方法还是第二种方法更好(以及为什么):
第一种方法
using(var module = new ModuleName(param1, param2, param3))
{
int a = Request.GetParam<int>("aNumber");
string b = Request.GetParam<string>("bString");
// and other parameters contained to the http request
}
Run Code Online (Sandbox Code Playgroud)
第二种方法
int a = Request.GetParam<int>("aNumber");
string b = Request.GetParam<string>("bString");
// and other parameters contained to the http request
using(var module = new ModuleName(param1, param2, param3))
{
}
Run Code Online (Sandbox Code Playgroud)
如果没有任何技术原因 - 这是基于意见的决定 - 我们应该更喜欢第二种方法的第一种方法,反之亦然,请告诉我,以便删除我的帖子.
这取决于您是否需要在using-statement 范围之外的那些变量.如果是这样,你无论如何都要在外面宣布它们.如果没有,请在中声明using.
为什么?这完全取决于可读性,故障安全性和重构性.
这不仅适用于using范围和变量声明.读:
| 归档时间: |
|
| 查看次数: |
1234 次 |
| 最近记录: |