なぜwinform Disposeメソッドがで「冗長な電話を検出しましたか」?なぜwinform Disposeメソッドが見つかりません '冗長呼び出しを検出する'?
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
なぜ、この:
Winフォームは現在の方法を処分しますか?
private bool disposedValue = false; //To detect redundant calls
protected override void Dispose(bool disposing)
{
if (!disposedValue)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
disposedValue = true;
}
}
私は、問題を表現していないため、トピック生成ツールとしてこの問題をクローズするよう投票していますが、明らかにツール生成コードの明確化を求めています。 –
hvdが指摘しているように、Disposeは何度も呼び出すことができ、エラーとして扱われるべきではありませんが、実際にはそういったことはほとんどいつでも間違いの兆候であることが分かります。なぜ*エラー "パス? –
@Damien_The_Unbelieverしかし、 '管理されていないオブジェクト'がある場合は、 'droppedValue'があるはずです。 – Angelo