Поделиться через


AppDomain.IsFinalizingForUnload Метод

Определение

Указывает, выгружается ли этот домен приложения, и объекты, содержащиеся в нем, завершаются средой CLR.

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

Возвращаемое значение

true Значение , если этот домен приложения выгружается, и среда CLR начала вызывать методы завершения; falseв противном случае .

Комментарии

Метод завершения для объекта предоставляет возможность выполнять все необходимые операции очистки перед сбором мусора. После завершения объект доступен, но в недопустимом состоянии и, следовательно, непригодным для использования. В конечном итоге сборка мусора завершается и освобождает объект.

Метод завершения объекта вызывается в одной из следующих ситуаций: во время сборки мусора, когда среда CLR завершает работу или когда домен приложения, содержащий объект, выгружается. Метод IsFinalizingForUnload возвращается только в последнем случае; он не возвращается truetrue , если результаты завершения из обычной сборки мусора или завершения работы СРЕДЫ CLR.

Замечание

Чтобы определить, связана ли завершение завершения среды CLR, используйте Environment.HasShutdownStarted это свойство. Возвращается true , если завершение происходит из-за выгрузки домена приложения или завершения работы среды CLR.

При выполнении метода завершения во время выгрузки домена может потребоваться получить доступ к другому объекту, на который ссылается статическое поле и имеет метод завершения. Однако вы не можете надежно сделать это, так как доступ к доступу к объекту, возможно, уже завершен.

Замечание

Исключением из этого правила является Console класс, который содержит статические поля, ссылающиеся на объекты потока, но реализуется специально, чтобы всегда записывать данные в системную консоль, даже во время выгрузки домена или завершения работы системы.

Используйте этот метод в методе завершения объекта, чтобы определить, является ли домен приложения, содержащий объект выгрузки. Если это так, вы не можете надежно получить доступ к любому объекту, который имеет метод завершения и ссылается на статическое поле.

Применяется к

См. также раздел