GCHandleType Enumeráció

Definíció

A típus által lefoglalható leírók GCHandle típusait jelöli.

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
Öröklődés
GCHandleType
Attribútumok

Mezők

Name Érték Description
Weak 0

Ez a leírótípus egy objektum nyomon követésére szolgál, de lehetővé teszi az adatok gyűjtését. Egy objektum összegyűjtésekor a rendszer GCHandle nullázva lesz. Weak a hivatkozások nullázva lesznek a véglegesítő futtatása előtt, így még akkor is, ha a véglegesítő újraéleszti az objektumot, a Weak hivatkozás továbbra is nullázva lesz.

WeakTrackResurrection 1

Ez a leírótípus hasonló Weak, de a fogópont nem lesz nullázva, ha az objektum a véglegesítés során újraéled.

Normal 2

Ez a leírótípus egy átlátszatlan fogópontot jelöl, ami azt jelenti, hogy a rögzített objektum címe nem oldható fel a fogóponton keresztül. Ezzel a típussal nyomon követheti az objektumokat, és megakadályozhatja a szemétgyűjtő általi gyűjtését. Ez az enumerálási tag akkor hasznos, ha egy nem felügyelt ügyfél rendelkezik az egyetlen, a szemétgyűjtőből nem észlelhető hivatkozással egy felügyelt objektumra.

Pinned 3

Ez a leírótípus hasonló Normal, de lehetővé teszi a rögzített objektum címének felvételét. Ez megakadályozza, hogy a szemétgyűjtő áthelyezi az objektumot, és ezáltal aláássa a szemétgyűjtő hatékonyságát. A metódus használatával Free() a lehető leghamarabb felszabadíthatja a lefoglalt leírót.

A következőre érvényes:

Lásd még