Visual Studio 2010のコード分析から次の警告が表示されます。これは誤検知であり、無視しても問題ありません。または、オブジェクトを正しく処理するためにコードをリファクタリングする必要があります。
関連するコード:
public void MyFunction()
{
OracleConnection oraConnection = null;
OracleCommand oraCommand = null;
try
{
// Connect to the database
oraConnection = new OracleConnection(connectionString);
oraConnection.Open();
// Prepare and run the query
oraCommand = new OracleCommand(sqlQuery, oraConnection);
oraCommand.ExecuteNonQuery();
}
catch { throw; }
finally
{
// Perform a safe cleanup
if (oraCommand != null) { oraCommand.Dispose(); }
if (oraConnection != null)
{
oraConnection.Close();
oraConnection.Dispose();
}
}
}
関連するエラーメッセージ:
警告18CA2202:Microsoft.Usage:オブジェクト'oraConnection'は、メソッド'ClassName.MyFunction()'で複数回破棄できます。System.ObjectDisposedExceptionの生成を回避するには、オブジェクトに対してDisposeを複数回呼び出さないでください。