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 в качестве детали реализации. Не существует типичных сценариев разработки приложений, в которых напрямую реализуется или используется интерфейс IClosable, если только вы не используете WRL. Дополнительные сведения см. в разделе Интеграция WRL.

Примечания для разработчиков

При программировании с помощью .NET этот интерфейс скрыт и заменяется интерфейсом System.IDisposable .

Если вы определяете класс среды выполнения в C++/CX и определяете деструктор, не реализуйте IClosable. Уже существует поведение на основе компилятора, которое реализует поведение очистки (как Platform::IDisposable), и ваша явная реализация будет конфликтовать со встроенным поведением. Дополнительные сведения см. в разделе "Деструкторы" статьи Ссылочные классы и структуры (C++/CX).

Этот интерфейс (предоставляемый языками) заключается в том, чтобы среда выполнения Windows объекты могли упаковывать и удалять эксклюзивные системные или аппаратные ресурсы, такие как дескрипторы файлов и сетевые сокеты. Этот интерфейс не реализуется для среда выполнения Windows объектов, которые обтекают общие системные ресурсы, такие как память и устройства с общим доступом.

Примечания к вызывающим абонентам

Сценарий для Platform::IDisposable/System.IDisposable заключается в поддержке синтаксиса конкретного языка, который изолирует ссылки, например синтаксис using() в C#, или поведение области для подсчета ссылок в 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

См. также раздел