我正在浏览ASP.NET应用程序中的一些旧的C#.NET代码,确保所有SqlConnections都使用块封装在中。如果我在方法中的一个using块中返回一个值,在返回之前是否使用了对象的处理方式?
我知道使用相同尝试/终于它在处置对象的最终无论在尝试会发生什么。如果我有一个返回使用的内的值,即使执行离开的方法,当它返回一个方法,它还是叫.Dispose()我的对象上它的返回后在/前/?
public static SqlCommand getSqlCommand(string strSql, string strConnect){
using (SqlConnection con = new SqlConnection(strConnect))
{
con.Open();
SqlCommand cmd = GetSqlCommand();
cmd.Connection = con;
cmd.CommandText = strSql;
return cmd;
}
}
更新:接受的答案是一个我认为最好的回答我的问题,但请注意,this answer抓住了这个代码的愚蠢,我要回一个使用配置连接的命令! :P
哇,好赶上!谢谢。这种方法是不是在很多地方使用的(并且是旧的),所以我可能会只是将其删除,并创建我需要他们的命令 – adambox 2010-02-22 18:55:58