DependentHandle Struct

Definizione

Rappresenta un handle di Garbage Collection dipendente. L'handle manterrà attiva un'istanza dell'oggetto dipendente purché sia attiva anche un'istanza dell'oggetto di destinazione, senza rappresentare un riferimento sicuro all'istanza di destinazione.

public value class DependentHandle : IDisposable
public struct DependentHandle : IDisposable
type DependentHandle = struct
    interface IDisposable
Public Structure DependentHandle
Implements IDisposable
Ereditarietà
DependentHandle
Implementazioni

Commenti

Un DependentHandle valore con un'istanza dell'oggetto specificata come destinazione non causerà la conservazione attiva della destinazione se non sono presenti altri riferimenti sicuri, ma questa operazione verrà eseguita per l'istanza dell'oggetto dipendente purché la destinazione sia attiva.

L'uso di questo tipo equivale concettualmente ad avere un riferimento debole a una determinata istanza dell'oggetto di destinazione A, con tale oggetto con un campo o una proprietà (o un altro riferimento sicuro) a un'istanza di oggetto dipendente B.

Il DependentHandle tipo non è thread-safe e i consumer sono responsabili di garantire che Dispose() non venga chiamato simultaneamente con altre API. In caso contrario, si verifica un comportamento non definito.

Le IsAllocatedproprietà , DependentTarget, e TargetAndDependent sono invece thread-safe e sicure da usare se Dispose() non vengono richiamate contemporaneamente.

Costruttori

Nome Descrizione
DependentHandle(Object, Object)

Inizializza una nuova istanza dello DependentHandle struct con gli argomenti specificati.

Proprietà

Nome Descrizione
Dependent

Ottiene o imposta l'istanza dell'oggetto dipendente per l'handle corrente.

IsAllocated

Ottiene un valore che indica se l'istanza è stata costruita con DependentHandle(Object, Object) e non è ancora stata eliminata.

Target

Ottiene o imposta l'istanza dell'oggetto di destinazione per l'handle corrente. La destinazione può essere impostata su un null valore solo dopo la creazione dell'istanza DependentHandle . In questo modo Dependent si inizierà anche a restituire null e a diventare idonei per la raccolta anche se la destinazione precedente è ancora attiva.

TargetAndDependent

Ottiene i valori di Target e Dependent (se disponibile) come operazione atomica. Ovvero, anche se Target è impostato contemporaneamente su , la chiamata a nullquesto metodo restituirà null sia per la destinazione che per quella dipendente oppure restituirà entrambi i valori precedenti. Se Target e Dependent sono stati usati in sequenza in questo scenario, sarebbe invece possibile recuperare correttamente la destinazione precedente, ma non ottenere il dipendente.

Metodi

Nome Descrizione
Dispose()

Esegue attività definite dall'applicazione associate alla liberazione, al rilascio o alla reimpostazione di risorse non gestite.

Si applica a