다음을 통해 공유


Marshal.OffsetOf 메서드

정의

오버로드

OffsetOf(Type, String)
사용되지 않음.

관리되는 클래스의 관리되지 않는 형식의 필드 오프셋을 반환합니다.

OffsetOf<T>(String)

지정된 관리되는 클래스의 관리되지 않는 형식의 필드 오프셋을 반환합니다.

OffsetOf(Type, String)

Source:
Marshal.CoreCLR.cs
Source:
Marshal.CoreCLR.cs
Source:
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

관리되는 클래스의 관리되지 않는 형식의 필드 오프셋을 반환합니다.

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 버전 2.0 이상에서는 이 필드가 private 필드일 수 있습니다.

t 매개 변수가 null인 경우

설명

OffsetOf 는 관리되지 않는 구조 레이아웃의 측면에서 오프셋을 제공하며, 관리되는 구조 레이아웃의 오프셋과 반드시 일치하지는 않습니다. 구조를 마샬링하면 레이아웃을 변환하고 오프셋을 변경할 수 있습니다. 매개 변수는 t 값 형식 또는 형식이 지정된 참조 형식(순차적 또는 명시적 레이아웃 포함)일 수 있습니다. 메서드를 사용하여 Marshal.SizeOf 전체 레이아웃의 크기를 가져올 수 있습니다. 자세한 내용은 값 형식에 대한 기본 마샬링을 참조하세요.

참고

.NET Framework 버전 2.0부터 는 OffsetOf 프라이빗 필드를 노출할 수 있습니다.

추가 정보

적용 대상

OffsetOf<T>(String)

Source:
Marshal.cs
Source:
Marshal.cs
Source:
Marshal.cs

지정된 관리되는 클래스의 관리되지 않는 형식의 필드 오프셋을 반환합니다.

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

관리되는 값 또는 formatted 참조 형식입니다. 클래스에 StructLayoutAttribute 특성을 적용해야 합니다.

매개 변수

fieldName
String

T 형식의 필드 이름입니다.

반환

IntPtr

nativeint

플랫폼 호출로 선언된 지정된 클래스 내의 fieldName 매개 변수에 대한 오프셋(바이트)입니다.

설명

OffsetOf<T>(String) 는 관리되지 않는 구조 레이아웃의 측면에서 오프셋을 제공하며, 관리되는 구조 레이아웃의 오프셋과 반드시 일치하지는 않습니다. 구조를 마샬링하면 레이아웃을 변환하고 오프셋을 변경할 수 있습니다. 제네릭 형식 매개 변수는 T 값 형식 또는 형식이 지정된 참조 형식(순차적 또는 명시적 레이아웃 포함)일 수 있습니다. 메서드를 사용하여 SizeOf<T>(T) 전체 레이아웃의 크기를 가져올 수 있습니다. 자세한 내용은 값 형식에 대한 기본 마샬링을 참조하세요.

참고

.NET Framework 버전 2.0부터 는 OffsetOf 프라이빗 필드를 노출할 수 있습니다.

추가 정보

적용 대상