![【2009年東京】医療廃棄物処理場で亡くなっていた作業員…どうしてこんなことに?【ゆっくり解説】](https://i.ytimg.com/vi/YaqAnM9pLqE/hqdefault.jpg)
コンテンツ
- 定義-Disposeはどういう意味ですか?
- Microsoft AzureとMicrosoft Cloudの紹介|このガイドでは、クラウドコンピューティングとは何か、Microsoft Azureを使用してクラウドからビジネスを移行および実行する方法を学習します。
- Techopediaは処分を説明します
定義-Disposeはどういう意味ですか?
C#の短所では、disposeは、メモリクリーンアップに必要なコードを実行し、ファイルハンドルやデータベース接続などのアンマネージリソースを解放およびリセットするために呼び出されるオブジェクトメソッドです。 Disposeは、Windowsのスペースが制限されているアプリケーションで使用されるグラフィックデバイスインターフェイス(GDI)ハンドルなどの管理不可能なオブジェクトとリソースを解放することにより、パフォーマンスを向上させ、メモリを最適化します。
IDisposableインターフェイスによって提供されるDisposeメソッドは、Dispose呼び出しを実装します。廃棄パターンは、タイムリーで予測可能なクリーンアップ、一時的なメモリリークの防止、およびリソースの廃棄を目的として設計されています。
Microsoft AzureとMicrosoft Cloudの紹介|このガイドでは、クラウドコンピューティングとは何か、Microsoft Azureを使用してクラウドからビジネスを移行および実行する方法を学習します。
Techopediaは処分を説明します
.NETフレームワークは、ガベージコレクション(GC)を促進し、オブジェクトメモリとリソースを管理し、Finalize(非決定的メソッド)を呼び出すことにより、無効なオブジェクトメモリ参照を回収します。 Disposeメソッドは、オブジェクトメモリインスタンスの有効期間を制御し、明示的なメモリクリーンアップ制御を提供します。他のメモリオブジェクトインスタンスが存在する場合でもDisposeを呼び出すことができますが、Finalizeは最後のメモリオブジェクトが破棄された後にのみ呼び出すことができます。
廃棄方法のルールは次のとおりです。
- 使用後すぐに解放する必要がある管理されていないリソースに使用されます。
- Disposeが呼び出されない場合、Finalizeメソッドを実装する必要があります。
- Disposeメソッドを呼び出した後、GC.SuppressFinalizeメソッドを呼び出して、Finalizeメソッドを回避し、不要なGCを回避する必要があります。
- Disposeメソッドが複数回呼び出される場合、例外は慎重に処理する必要があります。リソースが破棄された場合、インスタンスメソッドはObjectDisposedExceptionをスローします。
- 以前に呼び出されたDisposeメソッドを持つオブジェクトは再利用できません。
- 破棄は、.NET Frameworkに公開されるネイティブリソースオブジェクトおよびコンポーネントオブジェクトモデル(COM)オブジェクトの管理にのみ推奨されます。
- 予測できない結果が発生するため、Disposeを複数のスレッドから同時に呼び出すことはできません。
- 値タイプは、使い捨てタイプとして作成したり、管理されていないリソースメンバーを使用して作成したりしないでください。
- アンマネージリソースを使用する場合、オブジェクトコードの完了後にオブジェクトのDisposeメソッドを自動的に呼び出すステートメントを使用して、ソースコードを適用することをお勧めします。