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ý popisovač uvolňování paměti. Popisovač bude podmíněně udržovat závislé instance objektu naživu, pokud je aktivní i instance cílového objektu, aniž by představoval 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í zachování cíle, pokud na ni neexistují žá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 nějaký jiný silný odkaz) na instanci závislého objektu B.
Typ DependentHandle není bezpečný pro přístup z více vláken a uživatelé zodpovídají za to, že Dispose() se nevolají souběžně s jinými rozhraními API. Výsledkem toho není nedefinované chování.
Funkce IsAllocated, Target, Dependenta TargetAndDependent vlastnosti jsou místo thread-safe a bezpečné použít, pokud Dispose() není souběžně vyvolána také.
Konstruktory
| Name | Description |
|---|---|
| DependentHandle(Object, Object) |
Inicializuje novou instanci DependentHandle struktury se zadanými argumenty. |
Vlastnosti
| Name | Description |
|---|---|
| Dependent |
Získá nebo nastaví závislé instance objektu pro aktuální popisovač. |
| IsAllocated |
Získá hodnotu určující, zda tato instance byla vytvořena a DependentHandle(Object, Object) dosud nebyla uvolněna. |
| Target |
Získá nebo nastaví instanci cílového 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 |
Metody
| Name | Description |
|---|---|
| Dispose() |
Provádí úlohy definované aplikací související s uvolněním, uvolněním nebo resetováním nespravovaných prostředků. |