FieldOffsetAttribute Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Označuje fyzickou pozici polí v nespravované reprezentaci třídy nebo 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
- Dědičnost
- Atributy
Příklady
Následující příklad ukazuje, jak použít FieldOffsetAttribute na členy struktury nebo třídy s explicitním rozložením.
[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
Větší příklad najdete ve System.Runtime.InteropServices.StructLayoutAttribute třídě.
Poznámky
Tento atribut můžete použít u polí.
Tento atribut se používá, když System.Runtime.InteropServices.StructLayoutAttributese s LayoutKind.Explicit předaným konstruktoru použije na třídu nebo strukturu k určení posunu každého ne- static
nebo konstantního člena v rámci nespravované reprezentace této třídy nebo struktury.
Konstruktory
FieldOffsetAttribute(Int32) |
Inicializuje novou instanci FieldOffsetAttribute třídy s posunem ve struktuře na začátek pole. |
Vlastnosti
TypeId |
Při implementaci v odvozené třídě získá jedinečný identifikátor pro tuto Attributetřídu . (Zděděno od Attribute) |
Value |
Získá posun od začátku struktury na začátek pole. |
Metody
Equals(Object) |
Vrací hodnotu, která určuje, zda je tato instance rovna zadanému objektu. (Zděděno od Attribute) |
GetHashCode() |
Vrátí hodnotu hash pro tuto instanci. (Zděděno od Attribute) |
GetType() |
Získá aktuální Type instanci. (Zděděno od Object) |
IsDefaultAttribute() |
Při přepsání v odvozené třídě označuje, zda je hodnota této instance výchozí hodnotou pro odvozenou třídu. (Zděděno od Attribute) |
Match(Object) |
Při přepsání v odvozené třídě vrátí hodnotu, která označuje, zda se tato instance rovná zadanému objektu. (Zděděno od Attribute) |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
Explicitní implementace rozhraní
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Mapuje sadu názvů na odpovídající sadu identifikátorů pro rozesílání. (Zděděno od Attribute) |
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Načte informace o typu objektu, které lze použít k získání informací o typu pro rozhraní. (Zděděno od Attribute) |
_Attribute.GetTypeInfoCount(UInt32) |
Získá počet rozhraní typu informací, které objekt poskytuje (0 nebo 1). (Zděděno od Attribute) |
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Poskytuje přístup k vlastnostem a metodám vystaveným objektem. (Zděděno od Attribute) |