Udostępnij przez


FieldOffsetAttribute Klasa

Definicja

Wskazuje fizyczną pozycję pól w niezarządzanej reprezentacji klasy lub struktury.

public ref class FieldOffsetAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Field, Inherited=false)]
public sealed class FieldOffsetAttribute : Attribute
[System.AttributeUsage(System.AttributeTargets.Field, Inherited=false)]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class FieldOffsetAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Field, Inherited=false)>]
type FieldOffsetAttribute = class
    inherit Attribute
[<System.AttributeUsage(System.AttributeTargets.Field, Inherited=false)>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type FieldOffsetAttribute = class
    inherit Attribute
Public NotInheritable Class FieldOffsetAttribute
Inherits Attribute
Dziedziczenie
FieldOffsetAttribute
Atrybuty

Przykłady

W poniższym przykładzie pokazano, jak zastosować element FieldOffsetAttribute do składowych struktury lub klasy z jawnym układem.


[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 struct 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

Aby zapoznać się z większym przykładem, zobacz klasę System.Runtime.InteropServices.StructLayoutAttribute .

Uwagi

Ten atrybut można zastosować do pól.

Ten atrybut jest używany, gdy System.Runtime.InteropServices.StructLayoutAttribute, z LayoutKind.Explicit przekazanym do jego konstruktora, jest stosowany do klasy lub struktury w celu określenia przesunięcia każdego elementu członkowskiego innego static niż lub stały w niezarządzanej reprezentacji tej klasy lub struktury.

Konstruktorów

Nazwa Opis
FieldOffsetAttribute(Int32)

Inicjuje nowe wystąpienie FieldOffsetAttribute klasy z przesunięciem w strukturze do początku pola.

Właściwości

Nazwa Opis
TypeId

Po zaimplementowaniu w klasie pochodnej pobiera unikatowy identyfikator dla tego Attributeelementu .

(Dziedziczone od Attribute)
Value

Pobiera przesunięcie od początku struktury do początku pola.

Metody

Nazwa Opis
Equals(Object)

Zwraca wartość wskazującą, czy to wystąpienie jest równe podanemu obiektowi.

(Dziedziczone od Attribute)
GetHashCode()

Zwraca wartość skrótu dla tego wystąpienia.

(Dziedziczone od Attribute)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Dziedziczone od Object)
IsDefaultAttribute()

Podczas zastępowania w klasie pochodnej wskazuje, czy wartość tego wystąpienia jest wartością domyślną dla klasy pochodnej.

(Dziedziczone od Attribute)
Match(Object)

Po przesłonięciu w klasie pochodnej zwraca wartość wskazującą, czy to wystąpienie jest równe określonemu obiektowi.

(Dziedziczone od Attribute)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Dziedziczone od Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Dziedziczone od Object)

Implementacje interfejsów jawnych

Nazwa Opis
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Zestaw nazw jest mapowany na odpowiedni zestaw identyfikatorów wysyłania.

(Dziedziczone od Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Pobiera informacje o typie dla obiektu, który może służyć do pobierania informacji o typie dla interfejsu.

(Dziedziczone od Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Pobiera informację o liczbie typów interfejsów, jakie zawiera obiekt (0 lub 1).

(Dziedziczone od Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Umożliwia dostęp do właściwości i metod udostępnianych przez obiekt.

(Dziedziczone od Attribute)

Dotyczy

Zobacz także