FieldOffsetAttribute Класс
Определение
Показывает физическое положение полей, содержащихся в неуправляемом представлении класса или структуры.Indicates the physical position of fields within the unmanaged representation of a class or structure.
public ref class FieldOffsetAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Field, Inherited=false)]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class FieldOffsetAttribute : Attribute
type FieldOffsetAttribute = class
inherit Attribute
Public NotInheritable Class FieldOffsetAttribute
Inherits Attribute
- Наследование
- Атрибуты
Примеры
В следующем примере показано, FieldOffsetAttribute как применить к членам класса с явно заданным макетом.The following example demonstrates how to apply the FieldOffsetAttribute to members of a class with an explicit layout.
[StructLayout(LayoutKind::Explicit)]
public ref class SYSTEM_INFO
{
public:
[FieldOffset(0)]
UInt64 OemId;
[FieldOffset(8)]
UInt64 PageSize;
[FieldOffset(24)]
UInt64 ActiveProcessorMask;
[FieldOffset(32)]
UInt64 NumberOfProcessors;
[FieldOffset(40)]
UInt64 ProcessorType;
};
[StructLayout(LayoutKind.Explicit)]
public class SYSTEM_INFO
{
[FieldOffset(0)] public ulong OemId;
[FieldOffset(8)] public ulong PageSize;
[FieldOffset(16)] public ulong ActiveProcessorMask;
[FieldOffset(24)] public ulong NumberOfProcessors;
[FieldOffset(32)] public ulong ProcessorType;
}
<StructLayout(LayoutKind.Explicit)> _
Public Class SYSTEM_INFO
<FieldOffset(0)> Private OemId As System.UInt64
<FieldOffset(8)> Private PageSize As System.UInt64
<FieldOffset(16)> Private ActiveProcessorMask As System.UInt64
<FieldOffset(24)> Private NumberOfProcessors As System.UInt64
<FieldOffset(32)> Private ProcessorType As System.UInt64
End Class
Более длинный пример см. в System.Runtime.InteropServices.StructLayoutAttribute разделе класс.For a larger example, see the System.Runtime.InteropServices.StructLayoutAttribute class.
Комментарии
Этот атрибут можно применить к полям.You can apply this attribute to fields.
Этот атрибут используется LayoutKind.Explicit , когда System.Runtime.InteropServices.StructLayoutAttribute, при передаче в конструктор, применяется к классу или структуре для указания static
смещения каждого элемента, не являющегося или постоянного, в неуправляемом представлении этого класса или структуры.This attribute is used when System.Runtime.InteropServices.StructLayoutAttribute, with LayoutKind.Explicit passed to its constructor, is applied to a class or structure to specify the offset of each non- static
or constant member within the unmanaged representation of that class or structure.
Конструкторы
FieldOffsetAttribute(Int32) |
Инициализирует новый экземпляр класса FieldOffsetAttribute, используя смещение в структуре относительно начала поля.Initializes a new instance of the FieldOffsetAttribute class with the offset in the structure to the beginning of the field. |
Свойства
TypeId |
При реализации в производном классе возвращает уникальный идентификатор для этого Attribute.When implemented in a derived class, gets a unique identifier for this Attribute. (Унаследовано от Attribute) |
Value |
Возвращает смещение в байтах от начала структуры до начала поля.Gets the offset from the beginning of the structure to the beginning of the field. |
Методы
Equals(Object) |
Возвращает значение, показывающее, равен ли экземпляр указанному объекту.Returns a value that indicates whether this instance is equal to a specified object. (Унаследовано от Attribute) |
GetHashCode() |
Возвращает хэш-код данного экземпляра.Returns the hash code for this instance. (Унаследовано от Attribute) |
GetType() |
Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance. (Унаследовано от Object) |
IsDefaultAttribute() |
При переопределении в производном классе указывает, является ли значение этого экземпляра значением по умолчанию для производного класса.When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class. (Унаследовано от Attribute) |
Match(Object) |
При переопределении в производном классе возвращает значение, указывающее, является ли этот экземпляр равным заданному объекту.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object. (Унаследовано от Attribute) |
MemberwiseClone() |
Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object. (Унаследовано от Object) |
ToString() |
Возвращает строку, представляющую текущий объект.Returns a string that represents the current object. (Унаследовано от Object) |
Явные реализации интерфейса
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Сопоставляет набор имен соответствующему набору идентификаторов диспетчеризации.Maps a set of names to a corresponding set of dispatch identifiers. (Унаследовано от Attribute) |
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Возвращает сведения о типе объекта, которые можно использовать для получения сведений о типе интерфейса.Retrieves the type information for an object, which can be used to get the type information for an interface. (Унаследовано от Attribute) |
_Attribute.GetTypeInfoCount(UInt32) |
Возвращает количество предоставляемых объектом интерфейсов для доступа к сведениям о типе (0 или 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1). (Унаследовано от Attribute) |
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Предоставляет доступ к открытым свойствам и методам объекта.Provides access to properties and methods exposed by an object. (Унаследовано от Attribute) |