다음을 통해 공유


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::IDisposable/System.IDisposable 시나리오는 C#의 using() 구문과 같은 참조를 격리하는 언어별 구문 또는 C++의 참조 계산에 대한 범위 지정 동작을 지원하는 것입니다. 실제로 인터페이스로 캐스팅하거나 어떤 언어로든 앱 코드에서 해당 메서드를 호출하는 것은 거의 필요하지 않습니다.

메서드

Close()

Windows 런타임 개체에 의해 노출되는 시스템 리소스를 해제합니다.

.Net 이 인터페이스는 System.IDisposable로 표시됩니다.

C++/CX 이 인터페이스는 Platform::IDisposable로 표시됩니다.

적용 대상

추가 정보