다음을 통해 공유


AsyncLazy<T>.DisposeValueAsync 메서드

정의

삭제 가능한 경우 지연 초기화된 값을 삭제하고 이후의 모든 시도에서 값을 가져오지 못합니다.

public System.Threading.Tasks.Task DisposeValueAsync ();
member this.DisposeValueAsync : unit -> System.Threading.Tasks.Task
Public Function DisposeValueAsync () As Task

반환

값이 삭제된 경우 또는 값이 이미 삭제되었거나 이전 호출에 의해 삭제되도록 예약된 경우 즉시 완료되는 작업입니다.

설명

이 메서드를 호출하면 이 개체는 나중에 값을 가져오기 위한 호출에서 가 throw ObjectDisposedException되는 삭제된 상태로 전환됩니다.

값이 이미 생성되어 를 IAsyncDisposable구현IDisposable하는 경우 또는 IAsyncDisposable 삭제됩니다. 값 팩터리를 이미 시작했지만 아직 완료하지 않은 경우 값 팩터리 완료 시 해당 값이 삭제됩니다.

이 메서드를 호출할 때 값을 가져오기 위한 이전 호출이 진행 중인 경우 해당 호출이 완료될 있으며 호출자가 값을 Dispose() 가져올 수 있지만 값에 대해 호출되거나 곧 호출되어 해당 사용자가 을 ObjectDisposedException경험하게 됩니다.

또는 IAsyncDisposable 를 구현하는 값을 기반으로 하는 IDisposable 모든 조건은 형식 인수가 아닌 실제 값을 기반으로 합니다T. 즉, 구현하는 구체적인 형식은 (구현IDisposable되지 않음) 일 IFoo 수 있지만 T 를 구현 IFooIDisposable 할 수 있으므로 위에서 설명한 대로 삭제 가능한 개체로 처리될 수 있습니다.

적용 대상