AppDomain.IsFinalizingForUnload 메서드

정의

이 애플리케이션 도메인의 언로드 여부 및 공용 언어 런타임에서 이 애플리케이션 도메인에 포함된 개체를 종료하고 있는지를 나타냅니다.Indicates whether this application domain is unloading, and the objects it contains are being finalized by the common language runtime.

public:
 bool IsFinalizingForUnload();
public bool IsFinalizingForUnload ();
member this.IsFinalizingForUnload : unit -> bool
Public Function IsFinalizingForUnload () As Boolean

반환

이 애플리케이션 도메인의 언로드 작업이 수행되고 공용 언어 런타임에서 이미 종료자를 호출했으면 true이고, 그렇지 않으면 false입니다.true if this application domain is unloading and the common language runtime has started invoking finalizers; otherwise, false.

설명

개체의 종료 메서드는 개체가 가비지 수집 되기 전에 필요한 정리 작업을 수행할 수 있는 기회를 제공 합니다.The finalization method for an object provides you an opportunity to perform any necessary cleanup operations before the object is garbage collected. 종료 후에는 개체에 액세스할 수 있지만 잘못 된 상태에 있으므로 사용할 수 없습니다.After finalization, the object is accessible but in an invalid state and therefore unusable. 결국 가비지 수집이 완료 되 고 개체를 회수 합니다.Eventually, garbage collection completes and reclaims the object.

개체의 종료 메서드는 다음 상황 중 하나에서: 가비지 수집 중 공용 언어 런타임 종료 될 때 또는 개체를 포함 하는 애플리케이션 도메인이 언로드될 때.An object's finalization method is called in one of the following situations: during garbage collection, when the common language runtime is shutting down, or when the application domain that contains the object is unloaded. IsFinalizingForUnload 메서드는 마지막 경우에만 true 반환 합니다. 일상적인 가비지 수집 또는 CLR 종료의 결과로 종료 되는 경우 true 반환 되지 않습니다.The IsFinalizingForUnload method returns true only in the last case; it does not return true if finalization results from routine garbage collection or from CLR shutdown.

참고

CLR 종료로 인해 종료가 발생 하는지 여부를 확인 하려면 Environment.HasShutdownStarted 속성을 사용 합니다.To determine whether finalization is due to CLR shutdown, use the Environment.HasShutdownStarted property. 반환 true 또는 종료 하 고 CLR 애플리케이션 도메인 언로드 중으로 인해 종료 되는 경우.It returns true if finalization is due to an application domain being unloaded or to the CLR shutting down.

도메인을 언로드하는 동안 종료 메서드에서를 실행 하는 동안 정적 필드에서 참조 하는 다른 개체에 액세스 하 고 종료 메서드를 사용할 수 있습니다.While executing in your finalization method during domain unloading, you might want to access another object that is referenced by a static field and has a finalization method. 그러나 액세스 한 개체가 이미 종료 되었을 수 있으므로이 작업을 안정적으로 수행할 수 없습니다.However, you cannot reliably do so because the accessed object might already have been finalized.

참고

이 규칙의 예외는 스트림 개체를 참조 하는 정적 필드를 포함 하는 Console 클래스 이지만, 도메인 언로드 또는 시스템 종료 중에도 항상 시스템 콘솔에 기록할 수 있도록 특별히 구현 되어 있습니다.An exception to this rule is the Console class, which contains static fields that reference stream objects, but is implemented specially so you can always write to the system console, even during domain unloading or system shutdown.

개체의 종료 메서드에 개체를 포함 하는 애플리케이션 도메인이 언로드되고 있는지 여부를 확인 하려면이 메서드를 사용 합니다.Use this method in an object's finalization method to determine whether the application domain that contains the object is unloading. 이 경우 종료 메서드가 있고 정적 필드에서 참조 되는 개체에 안정적으로 액세스할 수 없습니다.If that is the case, you cannot reliably access any object that has a finalization method and is referenced by a static field.

적용 대상

추가 정보