AppDomain.IsFinalizingForUnload Метод

Определение

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

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

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

Boolean

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

Комментарии

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

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

Примечание

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

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

Примечание

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

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

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

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