いくつかの基になるネイティブ リソースを使用するオブジェクトがあり、次のインスタンスへのポインターがあり、次のように反復します。
MyObject begin = null;
try
{
begin = GetFirst();
while (begin != null)
{
MyObject next = begin.Next();
// do something with begin
begin.Dispose();
begin = next;
}
}
finally
{
if (begin != null)
{
begin.Dispose();
}
}
コード分析の問題が発生します。
CA2202: Microsoft.Usage: オブジェクト 'begin' はメソッド 'x()' で複数回破棄できます。System.ObjectDisposedException の生成を回避するには、オブジェクトに対して Dispose を複数回呼び出さないでください。
このエラーを抑制せずに取り除く方法はありますか?