이 문서는 기계 번역을 이용하여 번역되었습니다. 문서를 영문으로 보려면 영문 확인란을 선택하세요. 마우스 포인터를 텍스트 위로 이동시켜 팝업 창에서 영문 텍스트를 표시할 수도 있습니다.
번역
영문

Type.StructLayoutAttribute 속성

 

게시 날짜: 2016년 11월

현재 형식의 레이아웃을 설명하는 StructLayoutAttribute를 가져옵니다.

네임스페이스:   System
어셈블리:  mscorlib(mscorlib.dll에 있음)

public virtual StructLayoutAttribute StructLayoutAttribute { get; }

속성 값

Type: System.Runtime.InteropServices.StructLayoutAttribute

현재 형식의 전체 레이아웃 기능을 설명하는 StructLayoutAttribute를 가져옵니다.

Exception Condition
NotSupportedException

호출된 메서드가 기본 클래스에서 지원되지 않습니다.

StructLayoutAttribute 이 반환 되지는 GetCustomAttributes 메서드. 대신에이 속성을 사용 합니다.

다음 코드 예제는 먼저 클래스, 구조체 및 특별 한 레이아웃이 특성 (구조 내에 중첩 된 클래스)를 사용 하는 구조체를 정의 합니다. 사용 하 여는 StructLayoutAttribute 속성을 한 StructLayoutAttribute 각 형식과 특성의 속성을 표시 합니다.

using System;
using System.Runtime.InteropServices;

public class Example
{
    public static void Main()
    {
        DisplayLayoutAttribute(typeof(Example).StructLayoutAttribute);
        DisplayLayoutAttribute(typeof(Test1).StructLayoutAttribute);
        DisplayLayoutAttribute(typeof(Test2).StructLayoutAttribute);
    }

    private static void DisplayLayoutAttribute(StructLayoutAttribute sla)
    {
        Console.WriteLine("\r\nCharSet: "+sla.CharSet.ToString()+"\r\n   Pack: "+sla.Pack.ToString()+"\r\n   Size: "+sla.Size.ToString()+"\r\n  Value: "+sla.Value.ToString());
    }
    public struct Test1
    {
        public byte B1;
        public short S;
        public byte B2;
    }
    [StructLayout(LayoutKind.Explicit, Pack=1)] public struct Test2
    {
        [FieldOffset(0)] public byte B1;
        [FieldOffset(1)] public short S;
        [FieldOffset(3)] public byte B2;
    }
}

.NET Framework
2.0 이후 사용 가능
맨 위로 이동
표시: