DependentHandle Struktura
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Představuje závislý úchyt pro uvolňování paměti. Obslužný rutina bude podmíněně udržovat závislá instanci objektu naživu, pokud je také instance cílového objektu aktivní, aniž by představovala silný odkaz na cílovou instanci.
public value class DependentHandle : IDisposable
public struct DependentHandle : IDisposable
type DependentHandle = struct
interface IDisposable
Public Structure DependentHandle
Implements IDisposable
- Dědičnost
- Implementuje
Poznámky
DependentHandle Hodnota s danou instancí objektu jako cíl nezpůsobí udržování cíle naživu, pokud na ni nejsou žádné další silné odkazy, ale provede to pro závislé instance objektu, pokud je cíl aktivní.
Použití tohoto typu je koncepčně ekvivalentní tomu, že má slabý odkaz na danou instanci cílového objektu A s tímto objektem, který má pole nebo vlastnost (nebo jiný silný odkaz) na závislé instanci objektu B.
Typ DependentHandle není bezpečný pro vlákno a uživatelé zodpovídají za zajištění, že Dispose() se nevolá souběžně s jinými rozhraními API. Výsledkem toho není nedefinované chování.
Funkce IsAllocated, , DependentTargeta TargetAndDependent vlastnosti jsou místo toho bezpečné pro vlákno a bezpečné používat, pokud Dispose() není souběžně vyvolána také.
Konstruktory
DependentHandle(Object, Object) |
Inicializuje novou instanci DependentHandle struktury se zadanými argumenty. |
Vlastnosti
Dependent |
Získá nebo nastaví závislé instance objektu pro aktuální popisovač. |
IsAllocated |
Získá hodnotu určující, zda byla tato instance vytvořena a DependentHandle(Object, Object) dosud nebyla odstraněna. |
Target |
Získá nebo nastaví cílovou instanci objektu pro aktuální popisovač. Cíl lze nastavit pouze na |
TargetAndDependent |
Získá hodnoty obou Target i Dependent (pokud je k dispozici) jako atomická operace.
To znamená, že i když Target je současně nastavena na |
Metody
Dispose() |
Provede aplikací definované úlohy spojené s uvolněním nebo resetováním nespravovaných prostředků. |