index
オブジェクトの作成と破棄
クラスに保持されるオブジェクトの作成と破棄
アンマネージリソースを扱うクラスの例
ユーザーコードでアンマネージリソースを扱う
IDisposableインターフェイスを実装するクラスでの明示的なリソースの破棄
usingステートメントを使った確実なリソースの破棄
IDisposableインターフェイスを実装する
IDisposableインターフェイスを実装し、Dispose以外のメソッド名で解放処理を公開する
すでに解放済みのリソースへのアクセスを試行した場合にObjectDisposedExceptionをスローする
GC.SuppressFinalizeで不要なファイナライザ呼び出しを抑止する
IAsyncDisposableインターフェイスを実装する
usingステートメントを使ってStreamReaderを確実に閉じる
try-finallyステートメントを使ってStreamReaderを確実に閉じる
単一のusingステートメントで複数のオブジェクトを使用する
usingステートメントを入れ子にして複数のオブジェクトを使用する
同一スコープかつ複数のusingステートメントでオブジェクトを使用する
ローカル変数宣言形式のusingステートメント(using宣言)でオブジェクトを使用する
await usingステートメントを使ってオブジェクトを非同期的に破棄する
LockBits/UnlockBitsの呼び出しをラップしてusingステートメントで使えるようにする
SafeHandleクラスを使ってライブラリのハンドルをラップする
ファイナライザを実装する(Object.Finalizeをオーバーライドする)
ファイナライザを直接・明示的に呼び出すことはできない
GC.Collectメソッドでガベージコレクションの実施を要求する、GC.WaitForPendingFinalizersで保留中のファイナライザ実行を待機する
各.NETランタイムにおけるプロセス終了時のファイナライザ呼び出しの違い
AssemblyLoadContext.Unloadingイベントを捕捉して終了処理を行う
disposeパターンに従った継承を許可しないクラスの実装例
disposeパターンに従ったクラスの実装と継承の例