Marshal.OffsetOf-Methode: (Type, String)

 

Veröffentlicht: Oktober 2016

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

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

Syntax

public static IntPtr OffsetOf(
    Type t,
    string fieldName
)
public:
static IntPtr OffsetOf(
    Type^ t,
    String^ fieldName
)
static member OffsetOf : 
        t:Type *
        fieldName:string -> nativeint
Public Shared Function OffsetOf (
    t As Type,
    fieldName As String
) As IntPtr

Parameter

  • t
    Type: System.Type

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

Rückgabewert

Type: System.IntPtr

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

Ausnahmen

Exception Condition
ArgumentException

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

ArgumentNullException

Der t-Parameter ist null.

Hinweise

OffsetOf Stellt den Offset in Bezug auf die nicht verwaltete Struktur-Layout, bei dem nicht zwangsläufig den Offset des Layouts verwaltete Struktur entspricht. Durch Marshalling der Struktur kann das Layout transformiert und der Offset geändert. Die t Parameter kann ein Werttyp oder ein formatierter Referenztyp (mit sequenziellem oder explizitem Layout). Sie können die Größe des gesamten Layouts erhalten, indem die Marshal.SizeOf Methode. Weitere Informationen finden Sie unter Standard Marshalling für Werttypen.

Hinweis

Ab .NET Framework, Version 2.0, OffsetOf kann die privaten Felder verfügbar machen.

Versionsinformationen

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

Siehe auch

SizeOf
OffsetOf Überladen
Marshal-Klasse
System.Runtime.InteropServices-Namespace

Zurück zum Anfang