DependentHandle Struktur
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt ein abhängiges Garbage Collection-Handle dar. Das Handle hält eine abhängige Objektinstanz bedingt aktiv, solange auch eine Zielobjektinstanz aktiv ist, ohne einen starken Verweis auf die Zielinstanz darzustellen.
public value class DependentHandle : IDisposable
public struct DependentHandle : IDisposable
type DependentHandle = struct
interface IDisposable
Public Structure DependentHandle
Implements IDisposable
- Vererbung
- Implementiert
Hinweise
Ein DependentHandle Wert mit einem bestimmten Objekt instance als Ziel führt nicht dazu, dass das Ziel am Leben bleibt, wenn keine anderen starken Verweise darauf vorhanden sind. Dies wird jedoch für das abhängige Objekt instance, solange das Ziel aktiv ist.
Die Verwendung dieses Typs entspricht vom Konzept her einem schwachen Verweis auf ein bestimmtes Zielobjekt instance A, wobei dieses Objekt ein Feld oder eine Eigenschaft (oder einen anderen starken Verweis) auf ein abhängiges Objekt instance B aufweist.
Der DependentHandle Typ ist nicht threadsicher, und Consumer sind dafür verantwortlich, sicherzustellen, dass Dispose() nicht gleichzeitig mit anderen APIs aufgerufen wird. Wenn dies nicht geschieht, führt dies zu nicht definiertem Verhalten.
Die IsAllocatedEigenschaften , Target, Dependentund TargetAndDependent sind stattdessen threadsicher und können sicher verwendet werden, wenn Dispose() nicht gleichzeitig aufgerufen wird.
Konstruktoren
DependentHandle(Object, Object) |
Initialisiert eine neue instance der DependentHandle Struktur mit den angegebenen Argumenten. |
Eigenschaften
Dependent |
Ruft das abhängige Objekt ab, das für das aktuelle Handle instance, oder legt es fest. |
IsAllocated |
Ruft einen Wert ab, der angibt, ob diese instance mit DependentHandle(Object, Object) erstellt wurde und noch nicht verworfen wurde. |
Target |
Ruft das Zielobjekt instance für das aktuelle Handle ab oder legt es fest. Das Ziel kann erst auf einen |
TargetAndDependent |
Ruft die Werte von und TargetDependent (falls verfügbar) als atomischen Vorgang ab.
Das heißt, selbst wenn Target gleichzeitig auf |
Methoden
Dispose() |
Führt anwendungsspezifische Aufgaben durch, die mit der Freigabe, der Zurückgabe oder dem Zurücksetzen von nicht verwalteten Ressourcen zusammenhängen. |