GCHandleType GCHandleType GCHandleType GCHandleType Enum

Definición

Representa los tipos de identificadores que puede asignar la clase GCHandle.Represents the types of handles the GCHandle class can allocate.

public enum class GCHandleType
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public enum GCHandleType
type GCHandleType = 
Public Enum GCHandleType
Herencia
Atributos

Campos

Normal Normal Normal 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.This handle type represents an opaque handle, meaning you cannot resolve the address of the pinned object through the handle. Se puede utilizar este tipo para realizar el seguimiento de un objeto e impedir que se envíe al recolector de elementos no utilizados.You can use this type to track an object and prevent its collection by the garbage collector. 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.This enumeration member is useful when an unmanaged client holds the only reference, which is undetectable from the garbage collector, to a managed object.

Pinned Pinned Pinned Pinned 3

Este tipo de identificador es similar a Normal, con la diferencia de que permite tomar la dirección del objeto anclado.This handle type is similar to Normal, but allows the address of the pinned object to be taken. De este modo, se impide que el recolector de elementos no utilizados traslade el objeto con la consiguiente reducción de eficacia.This prevents the garbage collector from moving the object and hence undermines the efficiency of the garbage collector. Utilice el método Free() para liberar el identificador asignado lo antes posible.Use the Free() method to free the allocated handle as soon as possible.

Weak Weak Weak Weak 0

Este tipo de identificador se utiliza para realizar el seguimiento de un objeto, pero permite su recolección.This handle type is used to track an object, but allow it to be collected. Cuando se recopila un objeto, el contenido del objeto GCHandle está lleno de ceros.When an object is collected, the contents of the GCHandle are zeroed. 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.Weak references are zeroed before the finalizer runs, so even if the finalizer resurrects the object, the Weak reference is still zeroed.

WeakTrackResurrection WeakTrackResurrection WeakTrackResurrection 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.This handle type is similar to Weak, but the handle is not zeroed if the object is resurrected during finalization.

Se aplica a

Consulte también: