私はアプリケーションの終了前に廃棄を実行しますか?例えば、私の仕事で私はIDisposable
インターフェイスを持つクラスを使用する必要があり、私はアプリケーションの終了前に廃棄を実行しますか?
var myObject=new MyClass();
myObject.OnEvent+=OnEventHandle;
そして:
は例えば、私は多くのオブジェクトを作成し、それらのいくつかは、イベントがサブスクライブしています。 はその後、私はアプリを閉じて、これを行うことを決定:
Enviroment.Exit(-1);
iは右ですか?
Dispose
をすべてのオブジェクトに呼び出す必要がありますか?IDisposableインターフェイスを実装していますか? メモリリークが発生する可能性がありますか?
P.S.これは、WCF、MQを使用したサーバー側のアプリケーションです。
ほとんどの状況で、あなたの 'IDisposable'オブジェクトはステートメントを使って折り返されるべきなので、Disposeを直接呼び出す必要はありません。 – mason
一般に、 'IDisposable'を実装するすべてのクラスは、' using'ステートメントで消費されるべきです。 – Liam
他の人が言っていたように、 'using'ステートメントを使ってオプションを適切に管理する必要があります。しかし、あなたの質問に答えるには:プロセスが終了すると、そのメモリはオペレーティングシステムによって解放されるので、あなた自身でオブジェクトを処分する必要はありませんが、とにかく適切に行うことをお勧めします。 – poke