Freigeben über


Marshal.OffsetOf Methode

Definition

Überlädt

OffsetOf(Type, String)
Veraltet.

Gibt den Feldoffset der nicht verwalteten Form der verwalteten Klasse zurück.

OffsetOf<T>(String)

Gibt den Feldoffset der nicht verwalteten Form einer festgelegten verwalteten Klasse zurück.

OffsetOf(Type, String)

Quelle:
Marshal.CoreCLR.cs
Quelle:
Marshal.CoreCLR.cs
Quelle:
Marshal.CoreCLR.cs

Achtung

OffsetOf(Type, string) may be unavailable in future releases. Instead, use OffsetOf<T>(string). For more info, go to http://go.microsoft.com/fwlink/?LinkID=296511

Gibt den Feldoffset der nicht verwalteten Form der verwalteten Klasse zurück.

public:
 static IntPtr OffsetOf(Type ^ t, System::String ^ fieldName);
[System.Obsolete("OffsetOf(Type, string) may be unavailable in future releases. Instead, use OffsetOf<T>(string). For more info, go to http://go.microsoft.com/fwlink/?LinkID=296511")]
public static IntPtr OffsetOf (Type t, string fieldName);
public static IntPtr OffsetOf (Type t, string fieldName);
[<System.Obsolete("OffsetOf(Type, string) may be unavailable in future releases. Instead, use OffsetOf<T>(string). For more info, go to http://go.microsoft.com/fwlink/?LinkID=296511")>]
static member OffsetOf : Type * string -> nativeint
static member OffsetOf : Type * string -> nativeint
Public Shared Function OffsetOf (t As Type, fieldName As String) As IntPtr

Parameter

t
Type

Ein Werttyp oder formatierter Referenztyp, der die verwaltete Klasse angibt. Sie müssen das StructLayoutAttribute auf die Klasse anwenden.

fieldName
String

Das Feld im t-Parameter.

Gibt zurück

IntPtr

nativeint

Der Offset in Bytes für den fieldName-Parameter in der durch Plattformaufrufe deklarierten angegebenen Klasse.

Attribute

Ausnahmen

Die Klasse kann nicht als Struktur exportiert werden, oder das Feld ist nicht öffentlich. Ab .NET Framework, Version 2.0, ist das Feld möglicherweise privat.

Der t-Parameter ist null.

Hinweise

OffsetOf stellt den Offset im Sinne des nicht verwalteten Strukturlayouts bereit, das nicht unbedingt dem Offset des Layouts der verwalteten Struktur entspricht. Das Marshallen der Struktur kann das Layout transformieren und den Offset ändern. Der t Parameter kann ein Werttyp oder ein formatierter Verweistyp (mit einem sequenziellen oder expliziten Layout) sein. Sie können die Größe des gesamten Layouts mithilfe der Marshal.SizeOf -Methode abrufen. Weitere Informationen finden Sie unter Standardmarschalling für Werttypen.

Hinweis

Ab .NET Framework Version 2.0 OffsetOf können private Felder verfügbar gemacht werden.

Weitere Informationen

Gilt für:

OffsetOf<T>(String)

Quelle:
Marshal.cs
Quelle:
Marshal.cs
Quelle:
Marshal.cs

Gibt den Feldoffset der nicht verwalteten Form einer festgelegten verwalteten Klasse zurück.

public:
generic <typename T>
 static IntPtr OffsetOf(System::String ^ fieldName);
public static IntPtr OffsetOf<T> (string fieldName);
static member OffsetOf : string -> nativeint
Public Shared Function OffsetOf(Of T) (fieldName As String) As IntPtr

Typparameter

T

Ein verwalteter Wert- oder formatierter Verweistyp. Sie müssen das StructLayoutAttribute-Attribut auf die Klasse anwenden.

Parameter

fieldName
String

Der Name des Felds im T Typ.

Gibt zurück

IntPtr

nativeint

Der Offset in Bytes für den fieldName-Parameter in der durch Plattformaufrufe deklarierten angegebenen Klasse.

Hinweise

OffsetOf<T>(String) stellt den Offset im Sinne des nicht verwalteten Strukturlayouts bereit, das nicht unbedingt dem Offset des Layouts der verwalteten Struktur entspricht. Das Marshallen der Struktur kann das Layout transformieren und den Offset ändern. Der T generische Typparameter kann ein Werttyp oder ein formatierter Verweistyp (mit einem sequenziellen oder expliziten Layout) sein. Sie können die Größe des gesamten Layouts mithilfe der SizeOf<T>(T) -Methode abrufen. Weitere Informationen finden Sie unter Standardmarschalling für Werttypen.

Hinweis

Ab .NET Framework Version 2.0 OffsetOf können private Felder verfügbar gemacht werden.

Weitere Informationen

Gilt für: