Type.IsAutoLayout Property

Microsoft Silverlight will reach end of support after October 2021. Learn more.

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

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

Syntax

'Declaration
Public ReadOnly Property IsAutoLayout As Boolean
public bool IsAutoLayout { get; }

Property Value

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

Remarks

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.

Examples

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

Imports System.Runtime.InteropServices

' The Demo class is has the AutoLayout attribute.
<StructLayoutAttribute(LayoutKind.Auto)> _
Public Class Demo
End Class

Public Class Example
   Public Shared Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)
      ' Get the Type object for the Demo class.
      Dim myType As Type = GetType(Demo)
      ' Get and display the IsAutoLayout property of the 
      ' Demo class.
      outputBlock.Text += String.Format("The AutoLayout property for the Demo class is '{0}'.", _
          myType.IsAutoLayout.ToString()) + vbCrLf
   End Sub
End Class
using System;
using System.Runtime.InteropServices;

// The Demo class is attributed as AutoLayout.
[StructLayoutAttribute(LayoutKind.Auto)]
public class Demo
{
}

public class Example
{
   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      // Create an instance of the Type class using the GetType method.
      Type myType = typeof(Demo);
      // Get and display the IsAutoLayout property of the 
      // Demoinstance.
      outputBlock.Text += String.Format("\nThe AutoLayout property for the Demo class is {0}.",
          myType.IsAutoLayout) + "\n";
   }
}

Version Information

Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.