Freigeben über


IClosable Schnittstelle

Definition

Definiert eine Methode für die Freigabe reservierter Ressourcen.

.NET Diese Schnittstelle wird als System.IDisposable angezeigt.

C++/CX Diese Schnittstelle wird als Platform::IDisposable angezeigt.

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
Attribute

Windows-Anforderungen

Gerätefamilie
Windows 10 (eingeführt in 10.0.10240.0)
API contract
Windows.Foundation.FoundationContract (eingeführt in v1.0)

Hinweise

Diese Schnittstelle wird für alle möglichen Sprachen auf eine andere Schnittstelle projiziert, sodass sie als Infrastrukturstück betrachtet werden sollte, das die gesamte Windows-Runtime Programmiererfahrung als Implementierungsdetail verwendet. Es gibt keine typischen Anwendungsentwicklungsszenarien, die auf der direkten Implementierung oder Verwendung der IClosable-Schnittstelle basieren, es sei denn, Sie verwenden WRL. Weitere Informationen finden Sie unter WRL-Integration.

Hinweise für Implementierer

Beim Programmieren mit .NET wird diese Schnittstelle ausgeblendet und durch die System.IDisposable-Schnittstelle ersetzt.

Wenn Sie eine Laufzeitklasse in C++/CX definieren und einen Destruktor definieren, implementieren Sie IClosable nicht. Es gibt bereits compilerbasiertes Verhalten, das ein Bereinigungsverhalten für Sie implementiert (als Platform::IDisposable), und Ihre explizite Implementierung kollidiert mit dem integrierten Verhalten. Weitere Informationen finden Sie im Abschnitt "Destruktoren" unter Ref-Klassen und -Strukturen (C++/CX).

Der Zweck dieser Schnittstelle (wie von den Sprachen verfügbar gemacht) besteht darin, dass Windows-Runtime Objekte exklusive System- oder Geräte-/Hardwareressourcen wie Dateihandles und Netzwerksockets entsprechend umschließen und verwerfen können. Sie implementieren diese Schnittstelle nicht für Windows-Runtime Objekte, die freigegebene Systemressourcen wie Arbeitsspeicher und freigegebene Geräte umschließen.

Hinweise für Anrufer

Das Szenario für Platform::IDisposable/System.IDisposable unterstützt sprachspezifische Syntax, die Verweise isoliert, z. B. die using() -Syntax in C# oder das Bereichsverhalten für die Verweiszählung in C++. Tatsächlich ist das Umwandeln in die Schnittstellen oder das Aufrufen der Methoden aus einem beliebigen App-Code in einer beliebigen Sprache selten erforderlich.

Methoden

Close()

Gibt Systemressourcen frei, die von einem Windows-Runtime-Objekt verfügbar gemacht werden.

.NET Diese Schnittstelle wird als System.IDisposable angezeigt.

C++/CX Diese Schnittstelle wird als Platform::IDisposable angezeigt.

Gilt für:

Weitere Informationen