using System;
namespace System.Runtime.InteropServices
{
/// The StructLayoutAttribute class allows the user to control the physical layout of the data fields of a class or structure.
// Token: 0x02000058 RID: 88
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct, Inherited = false)]
[ComVisible(true)]
public sealed class StructLayoutAttribute : Attribute
{
/// Initalizes a new instance of the class with the specified enumeration member.
/// One of the values that specifes how the class or structure should be arranged.
// Token: 0x0600068A RID: 1674 RVA: 0x00014D48 File Offset: 0x00012F48
public StructLayoutAttribute(short layoutKind)
{
this.lkind = (LayoutKind)layoutKind;
}
/// Initalizes a new instance of the class with the specified enumeration member.
/// One of the values that specifes how the class or structure should be arranged.
// Token: 0x0600068B RID: 1675 RVA: 0x00014D68 File Offset: 0x00012F68
public StructLayoutAttribute(LayoutKind layoutKind)
{
this.lkind = layoutKind;
}
/// Gets the value that specifies how the class or structure is arranged.
/// The value that specifies how the class or structure is arranged.
// Token: 0x170000C2 RID: 194
// (get) Token: 0x0600068C RID: 1676 RVA: 0x00014D88 File Offset: 0x00012F88
public LayoutKind Value
{
get
{
return this.lkind;
}
}
/// Indicates how string data fields within the class should be marshaled as LPWSTR or LPSTR by default.
// Token: 0x040000AE RID: 174
public CharSet CharSet = CharSet.Auto;
/// Controls the alignment of data fields of a class or structure in memory.
// Token: 0x040000AF RID: 175
public int Pack = 8;
/// Indicates the absolute size of the class or structure.
// Token: 0x040000B0 RID: 176
public int Size;
// Token: 0x040000B1 RID: 177
private LayoutKind lkind;
}
}