CriticalHandle.Close メソッド

定義

リソースを解放するためのハンドルをマークします。

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 ()
属性

注釈

または Dispose メソッドをClose呼び出すと、リソースを解放できます。 クラスとは異なり、他の SafeHandle スレッドがこのハンドルを使用していることを示す参照カウントがないため、これは常に直ちに発生します。 そのため、同期メカニズムを使用して、 メソッドを呼び出 Close しても安全であることを確認する必要があります。 クラスを CriticalHandle 使用するほとんどのクラスではファイナライザーを提供する必要はありませんが、(たとえば、ファイル バッファーをフラッシュしたり、データをメモリに書き戻したりするために) 必要な場合があります。 この場合、 クラスは、クリティカル ファイナライザーが実行される前に実行することが保証されるファイナライザーを CriticalHandle 提供できます。

オブジェクトの Close 使用が完了したら、 メソッドまたは Dispose メソッドを CriticalHandle 呼び出します。 メソッドは Close 、オブジェクトを CriticalHandle 使用できない状態のままにします。

メモオブジェクトへの最後の参照を解放する前に、常に または DisposeCriticalHandle呼び出Closeします。 そうしないと、ガベージ コレクターが CriticalHandle オブジェクトの Finalize メソッドを呼び出すまで、使用されているリソースは解放されません。

適用対象