CriticalHandle.Close メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
リソースを解放および解放するためのハンドルをマークします。
public:
void Close();
public void Close();
[System.Security.SecurityCritical]
public void Close();
member this.Close : unit -> unit
[<System.Security.SecurityCritical>]
member this.Close : unit -> unit
Public Sub Close ()
- 属性
注釈
CloseまたはDisposeメソッドを呼び出すと、リソースを解放できます。 SafeHandle クラスとは異なり、他のスレッドがこのハンドルを使用していることを示す参照カウントがないため、これは常に直ちに発生します。 そのため、 Close メソッドを安全に呼び出すには、同期メカニズムを使用する必要があります。 CriticalHandle クラスを使用するほとんどのクラスではファイナライザーを提供する必要はありませんが、(たとえば、ファイル バッファーをフラッシュしたり、データをメモリに書き戻したりするために) 必要な場合があります。 この場合、クラスは、 CriticalHandle クリティカル ファイナライザーの実行前に実行することが保証されるファイナライザーを提供できます。
Close オブジェクトの使用が完了したら、DisposeまたはCriticalHandleメソッドを呼び出します。 Close メソッドは、CriticalHandle オブジェクトを使用できない状態のままにします。
メモClose オブジェクトへの最後の参照を解放する前に、常にDisposeまたはCriticalHandleを呼び出してください。 それ以外の場合、ガベージ コレクターが CriticalHandle オブジェクトの Finalize メソッドを呼び出すまで、使用しているリソースは解放されません。