다음을 통해 공유


AppDomain.IsFinalizingForUnload 메서드

정의

이 애플리케이션 도메인의 언로드 여부 및 공용 언어 런타임에서 이 애플리케이션 도메인에 포함된 개체를 종료하고 있는지를 나타냅니다.

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

반환

Boolean

이 애플리케이션 도메인의 언로드 작업이 수행되고 공용 언어 런타임에서 이미 종료자를 호출했으면 true이고, 그러지 않으면 false입니다.

설명

개체에 대한 종료 메서드를 사용하면 개체가 가비지 수집되기 전에 필요한 정리 작업을 수행할 수 있습니다. 종료 후 개체에 액세스할 수 있지만 잘못된 상태이므로 사용할 수 없습니다. 결국 가비지 수집이 완료되고 개체가 회수됩니다.

개체의 종료 메서드는 다음 상황 중 하나에서: 가비지 수집 중 공용 언어 런타임 종료 될 때 또는 개체를 포함 하는 애플리케이션 도메인이 언로드될 때. 메서드는 IsFinalizingForUnload 마지막 경우에만 반환 true 됩니다. 종료가 일상적인 가비지 수집 또는 CLR 종료에서 발생하는 경우 반환 true 되지 않습니다.

참고

최종화가 CLR 종료로 인한 것인지 확인하려면 이 속성을 사용합니다 Environment.HasShutdownStarted . 반환 true 또는 종료 하 고 CLR 애플리케이션 도메인 언로드 중으로 인해 종료 되는 경우.

도메인 언로드 중에 종료 메서드에서 실행하는 동안 정적 필드에서 참조되고 종료 메서드가 있는 다른 개체에 액세스할 수 있습니다. 그러나 액세스된 개체가 이미 완료되었을 수 있으므로 안정적으로 수행할 수 없습니다.

참고

이 규칙의 Console 예외는 스트림 개체를 참조하는 정적 필드를 포함하는 클래스이지만 도메인 언로드 또는 시스템 종료 중에도 항상 시스템 콘솔에 쓸 수 있도록 특별히 구현됩니다.

개체의 종료 메서드에 개체를 포함 하는 애플리케이션 도메인이 언로드되고 있는지 여부를 확인 하려면이 메서드를 사용 합니다. 이 경우 종료 메서드가 있고 정적 필드에서 참조되는 개체에 안정적으로 액세스할 수 없습니다.

적용 대상

추가 정보