次の方法で共有


SafeHandle.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 使用するほとんどのクラスではファイナライザーを提供する必要はありませんが、(たとえば、ファイル バッファーをフラッシュしたり、データをメモリに書き戻したりするために) 必要な場合があります。 この場合、 クラスは、クリティカル ファイナライザーが実行される前に実行することが保証されるファイナライザーを SafeHandle 提供できます。

オブジェクトの Close 使用が完了したら、 メソッドまたは Dispose メソッドを SafeHandle 呼び出します。

注意

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

適用対象