AppDomain.IsFinalizingForUnload Metodo

Definizione

Indica se è in corso lo scaricamento del dominio applicazione e se il completamento degli oggetti in esso contenuti è stato avviato in Common Language Runtime.

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

Restituisce

Boolean

true se è in corso lo scaricamento del dominio applicazione ed è stato avviato il richiamo dei finalizzatori in Common Language Runtime. In caso contrario, false .

Commenti

Il metodo di finalizzazione per un oggetto offre l'opportunità di eseguire tutte le operazioni di pulizia necessarie prima che l'oggetto venga sottoposto a Garbage Collection. Dopo la finalizzazione, l'oggetto è accessibile ma in uno stato non valido e pertanto inutilizzabile. Alla fine, Garbage Collection viene completato e recuperato l'oggetto .

Il metodo di finalizzazione di un oggetto viene chiamato in una delle situazioni seguenti: durante l'operazione di Garbage Collection, quando Common Language Runtime viene arrestato o quando il dominio applicazione che contiene l'oggetto viene scaricato. Il IsFinalizingForUnload metodo restituisce true solo nell'ultimo caso; non restituisce true se i risultati della finalizzazione vengono restituiti dall'operazione di Garbage Collection di routine o dall'arresto CLR.

Nota

Per determinare se la finalizzazione è dovuta all'arresto clr, utilizzare la Environment.HasShutdownStarted proprietà . Restituisce true se la finalizzazione è dovuta al caricamento di un dominio applicazione o all'arresto di CLR.

Durante l'esecuzione nel metodo di finalizzazione durante lo scaricamento del dominio, potrebbe essere necessario accedere a un altro oggetto a cui fa riferimento un campo statico e dispone di un metodo di finalizzazione. Tuttavia, non è possibile farlo in modo affidabile perché l'oggetto a cui si accede potrebbe essere già stato finalizzato.

Nota

Un'eccezione a questa regola è la Console classe , che contiene campi statici che fanno riferimento a oggetti flusso, ma viene implementata appositamente in modo da poter sempre scrivere nella console di sistema, anche durante lo scaricamento del dominio o l'arresto del sistema.

Utilizzare questo metodo nel metodo di finalizzazione di un oggetto per determinare se il dominio dell'applicazione che contiene l'oggetto viene scaricato. In questo caso, non è possibile accedere in modo affidabile a qualsiasi oggetto con un metodo di finalizzazione e a cui fa riferimento un campo statico.

Si applica a

Vedi anche