GCHandleType GCHandleType GCHandleType GCHandleType Enum

Definition

Stellt die Handletypen dar, die von der GCHandle-Klasse reserviert werden können.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
Vererbung
Attribute

Felder

Normal Normal Normal Normal 2

Dieser Handletyp stellt ein nicht transparentes Handle dar, d. h., dass die Adresse des fixierten Objekts nicht über das Handle aufgelöst werden kann.This handle type represents an opaque handle, meaning you cannot resolve the address of the pinned object through the handle. Sie können mit diesem Typ ein Objekt überwachen und verhindern, dass es vom Garbage Collector erfasst wird.You can use this type to track an object and prevent its collection by the garbage collector. Dieser Enumerationsmember ist nützlich, wenn ein nicht verwalteter Client den einzigen Verweis auf ein verwaltetes Objekt enthält, der vom Garbage Collector nicht erkannt werden kann.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

Dieser Handletyp ähnelt Normal, lässt jedoch das Erfassen der Adresse des fixierten Objekts zu.This handle type is similar to Normal, but allows the address of the pinned object to be taken. Andernfalls wird das Verschieben des Objekts durch den Garbage Collector verhindert und somit dessen Effizienz verringert.This prevents the garbage collector from moving the object and hence undermines the efficiency of the garbage collector. Verwenden Sie die Free()-Methode, um das reservierte Handle so bald wie möglich freizugeben.Use the Free() method to free the allocated handle as soon as possible.

Weak Weak Weak Weak 0

Dieser Handletyp wird zum Überwachen eines Objekts verwendet, lässt jedoch das Sammeln zu.This handle type is used to track an object, but allow it to be collected. Beim Sammeln eines Objekts wird der Inhalt von GCHandle auf 0 festgelegt.When an object is collected, the contents of the GCHandle are zeroed. Weak-Verweise werden vor dem Ausführen des Finalizers auf 0 festgelegt. Selbst wenn der Finalizer das Objekt wieder zugänglich macht, ist der Weak-Verweis immer noch auf 0 festgelegt.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

Dieser Handletyp ähnelt Weak, das Handle wird jedoch nicht auf 0 festgelegt, wenn das Objekt während der Finalisierung wieder zugänglich gemacht wird.This handle type is similar to Weak, but the handle is not zeroed if the object is resurrected during finalization.

Gilt für:

Siehe auch