IClosable インターフェイス

定義

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

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

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

public interface class IClosable
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.FoundationContract, 65536)]
/// [Windows.Foundation.Metadata.Guid(819308585, 32676, 16422, 131, 187, 215, 91, 174, 78, 169, 158)]
struct IClosable
[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
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::IDisposableSystem.IDisposable/ のシナリオは、C# の using() 構文や C++ での参照カウントのスコープ動作など、参照を分離する言語固有の構文をサポートすることです。 実際にインターフェイスにキャストしたり、任意の言語の任意のアプリ コードからメソッドを呼び出したりする必要はほとんどありません。

メソッド

Close()

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

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

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

適用対象

こちらもご覧ください