Type.StructLayoutAttribute Property
.NET Framework (current version)
Gets a StructLayoutAttribute that describes the layout of the current type.
Assembly: mscorlib (in mscorlib.dll)
Property Value
Type: System.Runtime.InteropServices.StructLayoutAttributeGets a StructLayoutAttribute that describes the gross layout features of the current type.
| Exception | Condition |
|---|---|
| NotSupportedException | The invoked method is not supported in the base class. |
StructLayoutAttribute is not returned by the GetCustomAttributes method. Instead, use this property to get it.
The following code example first defines a class, a structure, and a structure with special layout attributes (the structures are nested within the class). The example then uses the StructLayoutAttribute property to obtain a StructLayoutAttribute for each type, and displays the properties of the attributes.
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
Available since 2.0
Available since 2.0
Show: