GCHandleType Énumération

Définition

Représente les types de handles que la classe GCHandle peut allouer.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
Héritage
GCHandleType
Attributs

Champs

Normal 2

Ce type de handle représente un handle opaque, ce qui signifie que vous ne pouvez pas résoudre l'adresse de l'objet épinglé à l'aide du handle.This handle type represents an opaque handle, meaning you cannot resolve the address of the pinned object through the handle. Vous pouvez utiliser ce type pour suivre un objet et empêcher sa collecte par le garbage collector.You can use this type to track an object and prevent its collection by the garbage collector. Ce membre d'énumération est utile lorsqu'un client non managé contient la seule référence, non identifiable par le garbage collector, à un objet managé.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 3

Ce type de handle est similaire à Normal, mais permet d'accepter l'adresse de l'objet épinglé à prendre.This handle type is similar to Normal, but allows the address of the pinned object to be taken. Cela évite que le garbage collector transfère l'objet, ce qui diminue l'efficacité du garbage collector.This prevents the garbage collector from moving the object and hence undermines the efficiency of the garbage collector. Utilisez la méthode Free() pour libérer le handle alloué le plus rapidement possible.Use the Free() method to free the allocated handle as soon as possible.

Weak 0

Ce type de handle est utilisé pour suivre un objet, mais autorise sa collecte.This handle type is used to track an object, but allow it to be collected. Lorsqu'un objet est collecté, le contenu du GCHandle est mis à zéro.When an object is collected, the contents of the GCHandle are zeroed. Les références Weak sont remises à zéro avant l'exécution du finaliseur, de sorte que même si le finaliseur réactive l'objet, la référence Weak est toujours remise à zéro.Weak references are zeroed before the finalizer runs, so even if the finalizer resurrects the object, the Weak reference is still zeroed.

WeakTrackResurrection 1

Ce type de handle est similaire à Weak, mais le handle n'est pas remis à zéro si l'objet est réactivé pendant la finalisation.This handle type is similar to Weak, but the handle is not zeroed if the object is resurrected during finalization.

S’applique à

Voir aussi