AppDomain.IsFinalizingForUnload AppDomain.IsFinalizingForUnload AppDomain.IsFinalizingForUnload AppDomain.IsFinalizingForUnload Method

Definición

Indica si se está descargando este dominio de aplicación y si Common Language Runtime está finalizando los objetos que contiene.Indicates whether this application domain is unloading, and the objects it contains are being finalized by the common language runtime.

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

Devoluciones

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.true if this application domain is unloading and the common language runtime has started invoking finalizers; otherwise, false.

Comentarios

El método de finalización de un objeto le permite realizar las operaciones de limpieza necesarias antes de que el objeto se recopile como elemento no utilizado.The finalization method for an object provides you an opportunity to perform any necessary cleanup operations before the object is garbage collected. Después de la finalización, el objeto es accesible pero en un estado no válido y, por tanto, no se puede usar.After finalization, the object is accessible but in an invalid state and therefore unusable. Finalmente, la recolección de elementos no utilizados se completa y reclama el objeto.Eventually, garbage collection completes and reclaims the object.

Se llama al método de finalización de un objeto en una de las siguientes situaciones: durante la recolección de elementos no utilizados, cuando se está cerrando el Common Language Runtime o cuando se descarga el dominio de aplicación que contiene el objeto.An object's finalization method is called in one of the following situations: during garbage collection, when the common language runtime is shutting down, or when the application domain that contains the object is unloaded. El IsFinalizingForUnload método solo true devuelve en el último caso true ; no devuelve si el resultado de la finalización es la recolección de elementos no utilizados de rutina o el cierre de CLR.The IsFinalizingForUnload method returns true only in the last case; it does not return true if finalization results from routine garbage collection or from CLR shutdown.

Nota

Para determinar si la finalización se debe a un cierre de CLR Environment.HasShutdownStarted , utilice la propiedad.To determine whether finalization is due to CLR shutdown, use the Environment.HasShutdownStarted property. Devuelve true si la finalización se debe a un dominio de aplicación que se está descargando o al cierre de CLR.It returns true if finalization is due to an application domain being unloaded or to the CLR shutting down.

Mientras se ejecuta en el método de finalización durante la descarga del dominio, puede que desee obtener acceso a otro objeto al que hace referencia un campo estático y que tiene un método de finalización.While executing in your finalization method during domain unloading, you might want to access another object that is referenced by a static field and has a finalization method. Sin embargo, no puede hacerlo de manera confiable, ya que es posible que el objeto al que se ha accedido ya haya finalizado.However, you cannot reliably do so because the accessed object might already have been finalized.

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 de forma especial para que siempre pueda escribir en la consola del sistema, incluso durante la descarga del dominio o el cierre del sistema.An exception to this rule is the Console class, which contains static fields that reference stream objects, but is implemented specially so you can always write to the system console, even during domain unloading or system shutdown.

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 se está descargando.Use this method in an object's finalization method to determine whether the application domain that contains the object is unloading. En ese caso, no se puede tener acceso de forma confiable a cualquier objeto que tenga un método de finalización y al que haga referencia un campo estático.If that is the case, you cannot reliably access any object that has a finalization method and is referenced by a static field.

Se aplica a

Consulte también: