GCHandleType Výčet

Definice

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

Normal 2

Tento typ popisovače představuje neprůhlhlý popisovač, což znamená, že nelze přeložit adresu připnutého objektu prostřednictvím úchytu. Tento typ můžete použít ke sledování objektu a zabránění jeho shromažďování pomocí uvolňování 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, na spravovaný objekt.

Pinned 3

Tento typ popisovače je podobný Normaljako , ale umožňuje, aby adresa připnutého objektu byla převzata. To zabraňuje uvolňování paměti v pohybu objektu, a tím podkopává efektivitu uvolňování paměti. Free() Pomocí metody co nejdříve uvolněte přidělený popisovač.

Weak 0

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

WeakTrackResurrection 1

Tento typ popisovače je podobný Weakjako , ale popisovač není vynulován, pokud je objekt během finalizace znovu vzkřísený.

Platí pro

Viz také