IAsyncDisposable.DisposeAsync 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
비동기적으로 관리되지 않는 리소스의 확보, 해제 또는 다시 설정과 관련된 애플리케이션 정의 작업을 수행합니다.
public:
System::Threading::Tasks::ValueTask DisposeAsync();
public System.Threading.Tasks.ValueTask DisposeAsync ();
abstract member DisposeAsync : unit -> System.Threading.Tasks.ValueTask
Public Function DisposeAsync () As ValueTask
반환
비동기 삭제 작업을 나타내는 작업입니다.
설명
이 메서드를 사용하여 이 인터페이스를 구현하는 클래스 인스턴스에서 보유한 파일, 스트림 및 핸들과 같은 관리되지 않는 리소스를 비동기적으로 닫거나 해제합니다. 대신 이 메서드를 사용하면 GUI 애플리케이션의 IDisposable.Dispose 주 스레드를 오랫동안 차단하지 않고 리소스 집약적 삭제 작업을 수행할 수 있습니다.
경고
인터페이스를 구현 IAsyncDisposable 하는 클래스를 사용하는 경우 클래스 사용을 마치면 해당 DisposeAsync
구현을 호출해야 합니다. 자세한 내용은 항목의 "IAsyncDisposable을 구현하는 개체 사용" 섹션을 IAsyncDisposable 참조하세요.
이 메서드를 구현할 때 포함된 모든 리소스가 포함 계층 구조를 통해 호출을 전파하여 해제되었는지 확인합니다. 예를 들어 개체 A가 개체 B를 할당하고 개체 B가 개체 C를 할당하는 경우 A의 DisposeAsync
구현은 B를 호출 DisposeAsync
해야 하며, 이 경우 C를 호출 DisposeAsync
해야 합니다. 또한 기본 클래스가 구현IAsyncDisposable하는 DisposeAsync
경우 개체는 기본 클래스의 메서드를 호출해야 합니다.
개체의 DisposeAsync
메서드가 두 번 이상 호출되는 경우 개체는 첫 번째 호출 이후의 모든 호출을 무시하고 성공적으로 완료된 ValueTask호출을 동기적으로 반환해야 합니다. 개체가 메서드를 여러 번 호출하는 경우 예외를 DisposeAsync
throw해서는 안됩니다. 리소스가 이미 삭제된 경우 throw할 수 없는 ObjectDisposedException 인스턴스 DisposeAsync
메서드입니다.