Export (0) Print
Expand All

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:
virtual property bool IsAutoLayout {
	bool get () sealed;
}
/** @property */
public final boolean get_IsAutoLayout ()

public final function get IsAutoLayout () : boolean

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.dll>

using namespace System;
using namespace System::Reflection;
using namespace System::ComponentModel;
using namespace System::Runtime::InteropServices;

// The MyDemoAttribute class is selected as AutoLayout.

[StructLayoutAttribute(LayoutKind::Auto)]
public ref class MyDemoAttribute{};

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}.", myType->IsAutoLayout );
   }
   catch ( Exception^ e ) 
   {
      Console::WriteLine( "\nAn exception occurred: {0}.", e->Message );
   }

}

int main()
{
   MyAutoLayoutMethod( "MyDemoAttribute" );
}


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)
    {
        MyAutoLayoutMethod("MyDemoAttribute");
    } //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.
                get_IsAutoLayout()));
        }
        catch (System.Exception e) {
            Console.WriteLine("\nAn exception occurred: {0}.", e.get_Message());
        }
    } //MyAutoLayoutMethod
} //MyTypeClass

Windows 98, Windows 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 .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Framework

Supported in: 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 2.0, 1.0

Community Additions

ADD
Show:
© 2014 Microsoft