GCHandleType Wyliczenie

Definicja

Reprezentuje typy uchwytów GCHandle , które klasa może przydzielić.

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
Dziedziczenie
GCHandleType
Atrybuty

Pola

Normal 2

Ten typ uchwytu reprezentuje nieprzezroczysty uchwyt, co oznacza, że nie można rozpoznać adresu przypiętego obiektu za pośrednictwem uchwytu. Tego typu można użyć do śledzenia obiektu i zapobiegania jego zbieraniu przez moduł odśmiecenia pamięci. Ten element członkowski wyliczenia jest przydatny, gdy niezarządzany klient przechowuje jedyne odwołanie, które jest niewykrywalne z modułu odśmiecania pamięci do zarządzanego obiektu.

Pinned 3

Ten typ uchwytu jest podobny do Normal, ale umożliwia wykonanie adresu przypiętego obiektu. Zapobiega to przeniesieniu obiektu przez moduł odśmiecenia pamięci, a tym samym podważa wydajność modułu odśmiecającemu. Free() Użyj metody , aby zwolnić przydzielony uchwyt tak szybko, jak to możliwe.

Weak 0

Ten typ uchwytu służy do śledzenia obiektu, ale umożliwia zbieranie go. Po zebraniu obiektu zawartość obiektu GCHandle jest zerowana. Weak odwołania są zerowane przed uruchomieniem finalizatora, więc nawet jeśli finalizator wskrzesi obiekt, Weak odwołanie jest nadal zerowane.

WeakTrackResurrection 1

Ten typ uchwytu jest podobny do Weak, ale uchwyt nie jest zerowany, jeśli obiekt zostanie wskrzeszony podczas finalizacji.

Dotyczy

Zobacz też