다음을 통해 공유


AsyncLazy<T>.DisposeValue 메서드

정의

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

public void DisposeValue ();
member this.DisposeValue : unit -> unit
Public Sub DisposeValue ()

설명

이 호출은 값을 삭제하는 첫 번째 호출인 경우 삭제 시 차단됩니다(이미 시작되었지만 아직 완료되지 않은 경우 값 자체의 생성이 포함될 수 있음).

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

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

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

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

적용 대상