Type.IsAutoLayout Property
Assembly: mscorlib (in mscorlib.dll)
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.