Marshal.OffsetOf メソッド

定義

オーバーロード

OffsetOf(Type, String)
古い.

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

OffsetOf<T>(String)

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

OffsetOf(Type, String)

ソース:
Marshal.CoreCLR.cs
ソース:
Marshal.CoreCLR.cs
ソース:
Marshal.CoreCLR.cs

注意事項

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

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

C#
[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);
C#
public static IntPtr OffsetOf(Type t, string fieldName);

パラメーター

t
Type

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

fieldName
String

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

戻り値

IntPtr

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

属性

例外

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

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

注釈

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

注意

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

こちらもご覧ください

適用対象

.NET 9 およびその他のバージョン
製品 バージョン (廃止)
.NET Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 (Core 1.0)
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.1, 2.0, 2.1 (1.2, 1.3, 1.4, 1.5, 1.6)
UWP (10.0)

OffsetOf<T>(String)

ソース:
Marshal.cs
ソース:
Marshal.cs
ソース:
Marshal.cs

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

C#
public static IntPtr OffsetOf<T>(string fieldName);

型パラメーター

T

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

パラメーター

fieldName
String

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

戻り値

IntPtr

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

注釈

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

注意

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

こちらもご覧ください

適用対象

.NET 9 およびその他のバージョン
製品 バージョン
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0