GCHandleType Enumeración

Definición

Representa los tipos de identificadores que el GCHandle tipo puede asignar.

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
Herencia
GCHandleType
Atributos

Campos

Normal 2

Este tipo de identificador representa un identificador opaco, es decir, la dirección del objeto anclado no se puede resolver a través del identificador. Se puede utilizar este tipo para realizar el seguimiento de un objeto e impedir que se envíe al recolector de elementos no utilizados. Este miembro de la enumeración resulta útil cuando un cliente no administrado contiene la única referencia que no se puede detectar desde el recolector de elementos no utilizados, a un objeto administrado.

Pinned 3

Este tipo de identificador es similar a Normal, con la diferencia de que permite tomar la dirección del objeto anclado. De este modo, se impide que el recolector de elementos no utilizados traslade el objeto con la consiguiente reducción de eficacia. Utilice el método Free() para liberar el identificador asignado lo antes posible.

Weak 0

Este tipo de identificador se utiliza para realizar el seguimiento de un objeto, pero permite su recolección. Cuando se recopila un objeto, el contenido del objeto GCHandle está lleno de ceros. Las referencias Weak se llenan de ceros antes de que el finalizador se ejecute; por tanto, aunque el finalizador restablezca el objeto, la referencia Weak sigue llena de ceros.

WeakTrackResurrection 1

Este tipo de identificador es similar a Weak, con la diferencia de que el identificador no se llena con ceros si el objeto se restablece durante la finalización.

Se aplica a

Consulte también