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
특성

예제

다음 예제에서는 명시적 레이아웃을 사용 하 여 클래스의 멤버에 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()

현재 개체를 나타내는 string을 반환합니다.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)

적용 대상

추가 정보