Marshal.OffsetOf メソッド

定義

オーバーロード

OffsetOf(Type, String)
互換性のために残されています。

マネージド クラスのアンマネージド フォームのフィールド オフセットを返します。

OffsetOf<T>(String)

[.NET Framework 4.5.1 以降のバージョンでサポート]

指定されたマネージド クラスのアンマネージド フォームのフィールド オフセットを返します。

OffsetOf(Type, String)

注意事項

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, 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

パラメーター

t
Type

マネージド クラスを指定する値型または書式指定参照型。 StructLayoutAttribute をクラスに適用する必要があります。

fieldName
String

t パラメーター内のフィールド。

戻り値

IntPtr

nativeint

プラットフォーム呼び出しによって宣言される指定したクラス内の fieldName パラメーターのバイト単位のオフセット。

属性

例外

クラスを構造体としてエクスポートできません。またはフィールドが非パブリックです。 .NET Framework Version 2.0 から開始すると、フィールドはプライベートになる場合があります。

t パラメーターが null です。

注釈

OffsetOf は、アンマネージ構造体レイアウトの観点からオフセットを提供します。これは、必ずしもマネージド構造体レイアウトのオフセットに対応するとは限りません。 構造体をマーシャリングすると、レイアウトを変換し、オフセットを変更できます。 パラメーターには t 、値型または書式設定された参照型 (シーケンシャルまたは明示的なレイアウト) を指定できます。 このメソッドを使用して、レイアウト全体のサイズを Marshal.SizeOf 取得できます。 詳細については、「 値型の既定のマーシャリング」を参照してください

注意

.NET Framework バージョン 2.0 以降では、OffsetOfプライベート フィールドが公開される可能性があります。

こちらもご覧ください

適用対象

OffsetOf<T>(String)

[.NET Framework 4.5.1 以降のバージョンでサポート]

指定されたマネージド クラスのアンマネージド フォームのフィールド オフセットを返します。

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

型パラメーター

T

マネージド値型または書式指定参照型。 StructLayoutAttribute 属性をクラスに適用する必要があります。

パラメーター

fieldName
String

T 型内のフィールドの名前。

戻り値

IntPtr

nativeint

プラットフォーム呼び出しによって宣言される指定したクラス内の fieldName パラメーターのバイト単位のオフセット。

注釈

OffsetOf<T>(String) は、アンマネージ構造体レイアウトの観点からオフセットを提供します。これは、必ずしもマネージド構造体レイアウトのオフセットに対応するとは限りません。 構造体をマーシャリングすると、レイアウトを変換し、オフセットを変更できます。 ジェネリック型パラメーターには T 、値型または書式設定された参照型 (シーケンシャルまたは明示的なレイアウト) を指定できます。 このメソッドを使用して、レイアウト全体のサイズを SizeOf<T>(T) 取得できます。 詳細については、「 値型の既定のマーシャリング」を参照してください

注意

.NET Framework バージョン 2.0 以降では、OffsetOfプライベート フィールドが公開される可能性があります。

こちらもご覧ください

適用対象