IClosable インターフェイス

定義

割り当てられたリソースを解放するメソッドを定義します。

。ネット このインターフェイスは System.IDisposable として表示されます。

C++/CX このインターフェイスは Platform::IDisposable として表示されます。

C#
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.FoundationContract), 65536)]
[Windows.Foundation.Metadata.Guid(819308585, 32676, 16422, 131, 187, 215, 91, 174, 78, 169, 158)]
public interface IDisposable
属性

Windows の要件

デバイス ファミリ
Windows 10 (10.0.10240.0 で導入)
API contract
Windows.Foundation.FoundationContract (v1.0 で導入)

注釈

このインターフェイスは、使用可能なすべての言語に対して異なるインターフェイスに投影されるため、Windows ランタイムプログラミング エクスペリエンス全体が実装の詳細として使用するインフラストラクチャ部分と見なす必要があります。 WRL を使用していない限り、IClosable インターフェイスを直接実装または使用する一般的なアプリ開発シナリオはありません。 詳細については、「 WRL 統合」を参照してください。

実装者へのメモ

.NET を使用してプログラミングする場合、このインターフェイスは非表示になり、 System.IDisposable インターフェイスに置き換えられます。

C++/CX でランタイム クラスを定義し、デストラクターを定義する場合は、IClosable を実装しないでください。 ( Platform::IDisposable として) クリーンアップ動作を実装するコンパイラベースの動作が既にあり、明示的な実装は組み込みの動作と衝突します。 詳細については、「 Ref クラスと構造体 (C++/CX)」の「デストラクター」セクションを参照してください。

(言語によって公開される) このインターフェイスの目的は、ファイル ハンドルやネットワーク ソケットなど、Windows ランタイム オブジェクトが排他的なシステムまたはデバイス/ハードウェア リソースを適切にラップして破棄できるようにするためです。 このインターフェイスは、メモリや共有可能なデバイスなど、共有システム リソースをラップするWindows ランタイム オブジェクトには実装しません。

呼び出し元へのメモ

Platform::IDisposable System.IDisposable/ のシナリオは、C# の using() 構文や C++ での参照カウントのスコープ動作など、参照を分離する言語固有の構文をサポートすることです。 実際にインターフェイスにキャストしたり、任意の言語のアプリ コードからメソッドを呼び出したりする必要はほとんどありません。

メソッド

Close()

Windows ランタイム オブジェクトによって公開されるシステム リソースを解放します。

。ネット このインターフェイスは System.IDisposable として表示されます。

C++/CX このインターフェイスは Platform::IDisposable として表示されます。

適用対象

製品 バージョン
WinRT Build 10240, Build 10586, Build 14383, Build 15063, Build 16299, Build 17134, Build 17763, Build 18362, Build 19041, Build 20348, Build 22000, Build 22621, Build 26100

こちらもご覧ください