Type.IsAutoLayout Property

Gets a value indicating whether the class layout attribute AutoLayout is selected for the Type.

Namespace: System
Assembly: mscorlib (in mscorlib.dll)

public bool IsAutoLayout { get; }
/** @property */
public final boolean get_IsAutoLayout ()

public final function get IsAutoLayout () : boolean

Not applicable.

Property Value

true if the class layout attribute AutoLayout is selected for the Type; otherwise, false.

The LayoutMask is used to select the class layout attributes. The class layout attributes (AutoLayout, SequentialLayout and ExplicitLayout) define how the fields of the class instance are laid out in memory.

Use the AutoLayout attribute to let the runtime engine decide the best way to layout the objects of the class. Classes marked with the AutoLayout attribute indicate that the loader will choose the appropriate way to lay out the class; any layout information that may have been specified is ignored.

If the current Type represents a constructed generic type, this property applies to the generic type definition from which the type was constructed. For example, if the current Type represents MyGenericType<int> (MyGenericType(Of Integer) in Visual Basic), the value of this property is determined by MyGenericType<T>.

If the current Type represents a type parameter in the definition of a generic type or generic method, this property always returns false.

The following example creates an instance of the type and displays the IsAutoLayout property.

using System;
using System.Runtime.InteropServices;

// The Demo class is attributed as AutoLayout.
public class Demo

public class Example
    public static void Main()
        // Create an instance of the Type class using the GetType method.
        Type  myType=typeof(Demo);
        // Get and display the IsAutoLayout property of the 
        // Demoinstance.
        Console.WriteLine("\nThe AutoLayout property for the Demo class is {0}.",

import System.*;
import System.Reflection.*;
import System.ComponentModel.*;
import System.Runtime.InteropServices.*;

// The MyDemoAttribute class is selected as AutoLayout.
/** @attribute StructLayoutAttribute(LayoutKind.Auto)
public class MyDemoAttribute
} //MyDemoAttribute

public class MyTypeClass
    public static void main(String[] args)
    } //main

    public static void MyAutoLayoutMethod(String typeName)
        try {
            // Create an instance of the Type class using the GetType method.
            Type myType = Type.GetType(typeName);
            // Get and display the IsAutoLayout property of the 
            // MyDemoAttribute instance.
            Console.WriteLine("\nThe AutoLayout property for the" 
                + " MyDemoAttribute is {0}.", System.Convert.ToString(myType.
        catch (System.Exception e) {
            Console.WriteLine("\nAn exception occurred: {0}.", e.get_Message());
    } //MyAutoLayoutMethod
} //MyTypeClass

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 2.0, 1.0

XNA Framework

Supported in: 1.0