Type.IsExplicitLayout 속성
2013-03-11
Type에 대해 클래스 레이아웃 특성 ExplicitLayout이 선택되었는지 여부를 나타내는 값을 가져옵니다.
어셈블리: mscorlib(mscorlib.dll)
LayoutMask는 클래스 레이아웃 특성을 선택하는 데 사용됩니다. 클래스 레이아웃 특성(AutoLayout, SequentialLayout 및 ExplicitLayout)은 클래스 인스턴스의 필드가 메모리에 레이아웃되는 방법을 정의합니다.
클래스를 ExplicitLayout 특성으로 표시하면 로더에서는 필드 순서를 무시하고 필드 오프셋, 전체 클래스 크기, 맞춤 등의 형식에 따라 제공된 explicit 레이아웃 규칙을 사용하게 됩니다.
각 필드의 시작 지점에 오프셋을 지정하거나, 클래스의 개체에 대한 전체 크기 및 압축 크기(선택적 요소)를 지정하려면 ExplicitLayout 특성을 사용합니다. 압축 크기는 각 필드 사이의 빈 메모리 공간으로서 1, 2, 4, 8 또는 16바이트여야 합니다.
현재 Type이 생성된 제네릭 형식을 나타내는 경우 이 속성은 형식이 생성된 제네릭 형식 정의에 적용됩니다. 예를 들어, 현재 Type이 MyGenericType<int>(Visual Basic의 경우 MyGenericType(Of Integer))을 나타내는 경우 이 속성의 값은 MyGenericType<T>에 의해 결정됩니다.
현재 Type이 제네릭 형식 또는 제네릭 메서드 정의의 형식 매개 변수를 나타내는 경우 이 속성은 항상 false를 반환합니다.
다음 예제에서는 특정 형식의 인스턴스를 만들고 IsExplicitLayout 속성 값을 표시합니다. 이 예제는 StructLayoutAttribute에 대한 코드 예제에 있는 MySystemTime 클래스를 사용합니다.