FieldOffsetAttribute Klasa
Definicja
Ważny
Niektóre informacje dotyczą produktów przedpremierowych, które mogą zostać znacznie zmodyfikowane przed premierą. Microsoft nie udziela żadnych gwarancji, ani wyraźnych, ani domniemanych, dotyczących informacji podanych tutaj.
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
- 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) |