2

私のオブジェクトはいくつかの洗練されたパイプラインを通過します、その一部では、私はコードを持っていません、私はDispose私ので呼び出されたときの場所を知る必要がありますBitmap

4

2 に答える 2

4

ブレークポイントウィンドウからブレークポイントを追加できSystem.Drawing.Image.Disposeます。次に、が呼び出されるとデバッガーが停止Image.Disposeし、[呼び出しスタック]ウィンドウからどこで呼び出されたかを確認できます。

デバッグ>一般>マイコードのみを有効にするをオフにすることを忘れないでください。

于 2013-02-07T09:20:11.510 に答える
-1

このようなビットマップクラスでは何もできずinherit、disposeでイベントを発生させて、オブジェクトが破棄される特定のポイントをキャプチャできるようにします。

ただし、使い捨てオブジェクトを適切に使用する場合は、disposeがどこで呼び出されるかを知っておく必要があります。

using(Bitmap b = new Bitmap(""))
{
  //Do some stuff with B
//Dispose is handled on end of using
}

またはあなたが自分自身を呼ぶところDispose()

Bitmap b = new Bitmap("");
//Do some stuff with b
b.Dispose();

オブジェクトが破棄されていることがわかっている場所にコードを設定することをお勧めします。オブジェクトにステップインすると、System.Drawing.Imageオブジェクトを識別するのに役立ちますが、disposeメソッドでそれ以外のことはできません。

于 2013-02-07T09:24:29.273 に答える