using
我可以在使用括号内直接找到 C# 实例化的所有在线示例:
using (var cnx = new SqlConnection()) { }
我认为以下内容应该相同,但我似乎仍然锁定了资源:
SqlConnection GetConnection() { return new SqlConnection(); }
void foo()
{
using (var cnx = GetConnection()) { }
}
当我逐步执行我的程序并到达 using 的右括号之后的行时,我希望能够使用 SQL Server Management Studio 以任何我想要的方式更改数据库,但我不能。当我关闭我的应用程序时,错误就会消失。
这不与 SQL 隔离;我也经历过以这种方式打开文件流的情况。那就是:越过using
块,但操作系统不允许外部应用程序更改文件。
我是否违反了using
合同的某些部分?