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 класс, который содержит статические поля, ссылающиеся на объекты потока, но реализуется специально, чтобы всегда записывать данные в системную консоль, даже во время выгрузки домена или завершения работы системы.
Используйте этот метод в методе завершения объекта, чтобы определить, является ли домен приложения, содержащий объект выгрузки. Если это так, вы не можете надежно получить доступ к любому объекту, который имеет метод завершения и ссылается на статическое поле.