Partager via


GCHandleType Énumération

Définition

Représente les types de handles que le GCHandle type peut allouer.

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
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. Vous pouvez utiliser ce type pour suivre un objet et empêcher sa collecte par le 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é.

Pinned 3

Ce type de handle est similaire à Normal, mais permet d'accepter l'adresse de l'objet épinglé à prendre. Cela évite que le garbage collector transfère l'objet, ce qui diminue l'efficacité du garbage collector. Utilisez la méthode Free() pour libérer le handle alloué le plus rapidement possible.

Weak 0

Ce type de handle est utilisé pour suivre un objet, mais autorise sa collecte. Lorsqu'un objet est collecté, le contenu du GCHandle est mis à zéro. 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.

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.

S’applique à

Voir aussi