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
Возвращает смещение поля для неуправляемой формы управляемого класса.
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
.
Возвращаемое значение
nativeint
Смещение (в байтах) для параметра fieldName
в указанном классе, объявленном вызовом платформы.
- Атрибуты
Исключения
Класс не может быть экспортирован как структура, или поле не является публичным. Начиная с версии 2.0 платформы .NET Framework поле может быть закрытым.
Параметр t
имеет значение null
.
Комментарии
OffsetOf предоставляет смещение с точки зрения макета неуправляемой структуры, которое не обязательно соответствует смещению макета управляемой структуры. Маршалинг структуры может преобразовать макет и изменить смещение. Параметр t
может быть типом значения или форматированным ссылочным типом (с последовательным или явным макетом). Размер всего макета можно получить с помощью Marshal.SizeOf метода . Дополнительные сведения см. в разделе Маршалинг по умолчанию для типов значений.
Примечание
Начиная с .NET Framework версии 2.0, OffsetOf могут предоставлять закрытые поля.
См. также раздел
Применяется к
OffsetOf<T>(String)
- Исходный код:
- Marshal.cs
- Исходный код:
- Marshal.cs
- Исходный код:
- 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
Управляемый тип значения или форматированный ссылочный тип. Примените атрибут StructLayoutAttribute к классу.
Параметры
- fieldName
- String
Имя поля в типе T
.
Возвращаемое значение
nativeint
Смещение (в байтах) для параметра fieldName
в указанном классе, объявленном вызовом платформы.
Комментарии
OffsetOf<T>(String) предоставляет смещение с точки зрения макета неуправляемой структуры, которое не обязательно соответствует смещению макета управляемой структуры. Маршалинг структуры может преобразовать макет и изменить смещение. Параметр T
универсального типа может быть типом значения или форматированным ссылочным типом (с последовательным или явным макетом). Размер всего макета можно получить с помощью SizeOf<T>(T) метода . Дополнительные сведения см. в разделе Маршалинг по умолчанию для типов значений.
Примечание
Начиная с .NET Framework версии 2.0, OffsetOf могут предоставлять закрытые поля.