Freigeben über


GCHandleType-Enumeration

 

Veröffentlicht: Oktober 2016

Stellt die Typen von Handles die GCHandle -Klasse reserviert werden können.

Namespace:   System.Runtime.InteropServices
Assembly:  mscorlib (in mscorlib.dll)

Syntax

[SerializableAttribute]
[ComVisibleAttribute(true)]
public enum GCHandleType
[SerializableAttribute]
[ComVisibleAttribute(true)]
public enum class GCHandleType
[<SerializableAttribute>]
[<ComVisibleAttribute(true)>]
type GCHandleType
<SerializableAttribute>
<ComVisibleAttribute(True)>
Public Enumeration GCHandleType

Member

Membername Beschreibung
Normal

Dieser Handletyp stellt ein nicht transparentes Handle, was bedeutet, dass Sie die Adresse des fixierten Objekts nicht über das Handle nicht beheben können. Sie können dieses Typs verwenden, um ein Objekt nachzuverfolgen und zu verhindern, dass durch den Garbage Collector. Dieser Enumerationsmember ist nützlich, wenn ein nicht verwalteter Client den einzigen Verweis enthält, der für ein verwaltetes Objekt vom Garbage Collector nicht erkannt wird.

Pinned

Dieser Handletyp ähnelt Normal, aber die Adresse des fixierten Objekts an, die ausgeführt werden können. Dies verhindert, dass der Garbage Collector das Objekt und somit die Effizienz des Garbage Collectors untergräbt. Verwenden der Free Methode, um das reservierte Handle so bald wie möglich freizugeben.

Weak

Dieser Handletyp wird verwendet, um ein Objekt nachzuverfolgen, und lassen Sie gesammelt werden. Wenn ein Objekt gesammelt ist, den Inhalt der GCHandle auf NULL gesetzt.Weak -Verweise werden vor der Finalizer, selbst wenn die des, Finalizers der Weak Verweis immer noch auf NULL gesetzt.

WeakTrackResurrection

Dieser Handletyp ähnelt Weak, aber das Handle wird nicht gelöscht, wenn das Objekt während der Finalisierung wieder zugänglich gemacht wird.

Versionsinformationen

Universelle Windows-Plattform
Verfügbar seit 8
.NET Framework
Verfügbar seit 1.1
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.0
Windows Phone
Verfügbar seit 8.1

Siehe auch

GCHandle
System.Runtime.InteropServices-Namespace

Zurück zum Anfang