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. Tento popisovač podmíněně udržuje aktivní závislou instanci objektu, dokud je aktivní také cílová instance 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
Hodnota DependentHandle s danou instancí objektu jako cílem nezpůsobí zachování cíle, pokud na něj nejsou žádné jiné silné odkazy, ale bude tak učinit pro instanci závislého objektu, dokud je cíl aktivní.
Použití tohoto typu je koncepčně ekvivalentní slabému odkazu na danou cílovou instanci objektu A, přičemž tento objekt 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 příjemci zodpovídají za to, že Dispose() se nebude volat souběžně s jinými rozhraními API. Pokud to neuděláte, bude výsledkem nedefinované chování.
Vlastnosti IsAllocated, Target, Dependenta TargetAndDependent jsou místo toho bezpečné pro přístup z více vláken a bezpečné použití, pokud Dispose() nejsou vyvolány současně.
Konstruktory
DependentHandle(Object, Object) |
Inicializuje novou instanci DependentHandle struktury se zadanými argumenty. |
Vlastnosti
Dependent |
Získá nebo nastaví instanci závislého objektu pro aktuální popisovač. |
IsAllocated |
Získá hodnotu označující, zda byla tato instance 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 na |
TargetAndDependent |
Získá hodnoty a TargetDependent (pokud jsou 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ů. |