DependentHandle Struct
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Rappresenta un handle di Garbage Collection dipendente. L'handle mantiene attiva in modo condizionale un'istanza dipendente dell'oggetto finché un'istanza destinazione è attiva, 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à
- Implementazioni
Commenti
Un DependentHandle valore con una determinata istanza dell'oggetto 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 finché la destinazione è 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. Questa operazione non comporta un comportamento indefinito.
Le IsAllocatedproprietà , Target, Dependente TargetAndDependent sono invece thread-safe e sicure da usare se Dispose() non vengono richiamate contemporaneamente.
Costruttori
DependentHandle(Object, Object) |
Inizializza una nuova istanza dello DependentHandle struct con gli argomenti specificati. |
Proprietà
Dependent |
Ottiene o imposta l'istanza dell'oggetto dipendente per l'handle corrente. |
IsAllocated |
Ottiene un valore che indica se questa istanza è stata costruita con DependentHandle(Object, Object) e non è stata ancora eliminata. |
Target |
Ottiene o imposta l'istanza dell'oggetto di destinazione per l'handle corrente. La destinazione può essere impostata su un |
TargetAndDependent |
Ottiene i valori di e TargetDependent (se disponibile) come operazione atomica.
Ovvero, anche se Target è impostato contemporaneamente su , la chiamata a |
Metodi
Dispose() |
Esegue attività definite dall'applicazione, come rilasciare o reimpostare risorse non gestite. |