AppDomain.IsFinalizingForUnload Método

Definición

Indica si se está descargando este dominio de aplicación y si Common Language Runtime está finalizando los objetos que contiene.

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

Devoluciones

Boolean

Es true si se está descargando este dominio de aplicación y si Common Language Runtime comenzó el proceso de invocación de los finalizadores; en caso contrario, es false.

Comentarios

El método de finalización de un objeto proporciona la oportunidad de realizar las operaciones de limpieza necesarias antes de que el objeto se recopile como elemento no utilizado. Después de la finalización, se puede acceder al objeto, pero en un estado no válido y, por tanto, no se puede usar. Finalmente, la recolección de elementos no utilizados se completa y reclama el objeto .

Se llama al método de finalización de un objeto en una de las situaciones siguientes: durante la recolección de elementos no utilizados, cuando Common Language Runtime se apaga o cuando se descarga el dominio de aplicación que contiene el objeto. El IsFinalizingForUnload método solo devuelve true en el último caso; no devuelve true si la finalización resulta de la recolección de elementos no utilizados rutinaria o del apagado clR.

Nota

Para determinar si la finalización se debe al apagado de CLR, use la Environment.HasShutdownStarted propiedad . true Devuelve si la finalización se debe a que un dominio de aplicación se descarga o se cierra CLR.

Mientras se ejecuta en el método de finalización durante la descarga de dominio, es posible que desee tener acceso a otro objeto al que hace referencia un campo estático y que tenga un método de finalización. Sin embargo, no puede hacerlo de forma confiable porque es posible que el objeto al que se tenga acceso ya se haya finalizado.

Nota

Una excepción a esta regla es la Console clase , que contiene campos estáticos que hacen referencia a objetos de secuencia, pero se implementa especialmente para que siempre pueda escribir en la consola del sistema, incluso durante la descarga de dominio o el apagado del sistema.

Use este método en el método de finalización de un objeto para determinar si el dominio de aplicación que contiene el objeto está descargando. Si ese es el caso, no puede obtener acceso confiable a ningún objeto que tenga un método de finalización y al que hace referencia un campo estático.

Se aplica a

Consulte también