GCHandleType Výčet

Definice

Představuje typy popisovačů, které typ GCHandle může 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

Name Hodnota Description
Weak 0

Tento typ popisovače slouží ke sledování objektu, ale umožňuje jeho shromažďování. Při shromáždění objektu se obsah GCHandle vynuluje. Weak odkazy se vynulují před spuštěním finalizátoru, takže i když finalizátor znovu předčítá objekt, Weak odkaz je stále nulový.

WeakTrackResurrection 1

Tento typ popisovače je podobný Weak, ale popisovač není nulový, pokud je objekt znovu vyřízen během finalizace.

Normal 2

Tento typ popisovače představuje neprůhláhlý popisovač, 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 popisovače je podobný Normal, ale umožňuje použít adresu připnutého objektu. To brání systému uvolňování paměti v pohybu objektu, a proto podkopává efektivitu uvolňování paměti. Použijte metodu Free() k uvolnění přiděleného popisovače co nejdříve.

Platí pro

Viz také