AsyncLazy<T>.DisposeValue 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
삭제 가능한 경우 지연 초기화된 값을 삭제하고 이후의 모든 시도에서 값을 가져오지 못합니다.
public void DisposeValue ();
member this.DisposeValue : unit -> unit
Public Sub DisposeValue ()
설명
이 호출은 값을 삭제하는 첫 번째 호출인 경우 삭제 시 차단됩니다(이미 시작되었지만 아직 완료되지 않은 경우 값 자체의 생성이 포함될 수 있음).
이 메서드를 호출하면 이 개체가 삭제된 상태로 전환되고, 이후 값을 가져오기 위한 호출에서 이 throw ObjectDisposedException됩니다.
값이 이미 생성되어 또는 IAsyncDisposable를 IDisposable 구현한 경우 삭제됩니다. 값 팩터리를 이미 시작했지만 아직 완료하지 않은 경우 값 팩터리 완료 시 해당 값이 삭제됩니다.
이 메서드가 호출될 때 값을 가져오기 위한 이전 호출이 진행 중인 경우 해당 호출이 완료될 수 있으며 해당 호출자는 값에 대해 호출되었을 수도 있고 곧 호출될 수도 있지만 Dispose() 값을 가져올 수 있으므로 해당 사용자가 을 ObjectDisposedException경험하게 됩니다.
또는 IAsyncDisposable 를 구현하는 값을 기반으로 하는 IDisposable 모든 조건은 형식 인수가 아닌 T
실제 값을 기반으로 합니다. 즉, 는 (구현하지 않음) 일 수 있지만 T
를 구현 IFoo
IDisposable하는 구체적인 형식은 를 구현 IDisposable 하여 위에서 설명한 대로 삭제 가능한 개체로 처리될 수 IFoo
있습니다.