GCHandleType Výčet

Definice

Představuje typy popisovačů, GCHandle které může třída přidělit.

public enum class GCHandleType
public enum GCHandleType
[System.Serializable]
public enum GCHandleType
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum GCHandleType
type GCHandleType = 
[<System.Serializable>]
type GCHandleType = 
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type GCHandleType = 
Public Enum GCHandleType
Dědičnost
GCHandleType
Atributy

Pole

Normal 2

Tento typ úchytu představuje neprůhláhlý úchyt, což znamená, že adresu připnutého objektu nelze přeložit pomocí úchytu. Tento typ můžete použít ke sledování objektu a zabránění jeho shromažďování uvolňováním paměti. Tento člen výčtu je užitečný, pokud nespravovaný klient obsahuje jediný odkaz, který je nedetekovatelný z uvolňování paměti, ke spravovanému objektu.

Pinned 3

Tento typ úchytu je podobný Normal, ale umožňuje vzít adresu připnutého objektu. Tím zabráníte kolektoru uvolňování paměti přesunout objekt, a proto podkopává efektivitu uvolňování paměti. Použijte metodu Free() k uvolnění přiděleného úchytu co nejdříve.

Weak 0

Tento typ úchytu slouží ke sledování objektu, ale umožňuje ho shromažďovat. Při shromažďování objektu GCHandle se obsah nuluje. Weak odkazy jsou nulovány před spuštěním finalizátoru, takže i když finalizátor znovu předčítá objekt, Weak odkaz je stále nula.

WeakTrackResurrection 1

Tento typ úchytu je podobný Weak, ale popisovač není nulový, pokud je objekt během finalizace převrácený.

Platí pro

Viz také