SqlConnection
と をSqlCommand
実装するので、それらをステートメントIDisposable
でラップしています。using
ただし、メソッドでそれらを作成してからusing
ステートメントに渡すため、メソッドによって作成されたものを閉じるブレースが破棄するかどうかを知りたいとusing
思いSqlCommand
ました。
だから私はこれを試しました:
private void button1_Click(object sender, EventArgs e)
{
SqlCommand command = new SqlCommand();
command.CommandTimeout = 10;
command.Disposed += s_Disposed;
using (SqlCommand tempCommand = command) { }//This is where even "command" is supposed to get disposed.
Text = command.CommandTimeout.ToString();
}
void s_Disposed(object sender, EventArgs e)
{
MessageBox.Show("Disposed");
}
MessageBox
そして、廃棄を暗示する do が表示されたのを見て驚いたが、Text は "10" だった。
なんで?