Type.IsAutoLayout Type.IsAutoLayout Type.IsAutoLayout Type.IsAutoLayout Property

Definizione

Ottiene un valore che indica se i campi del tipo corrente sono disposti automaticamente dal Common Language Runtime.Gets a value indicating whether the fields of the current type are laid out automatically by the common language runtime.

public:
 property bool IsAutoLayout { bool get(); };
public bool IsAutoLayout { get; }
member this.IsAutoLayout : bool
Public ReadOnly Property IsAutoLayout As Boolean

Valore della proprietà

true se la proprietà Attributes del tipo corrente include AutoLayout; in caso contrario, false.true if the Attributes property of the current type includes AutoLayout; otherwise, false.

Implementazioni

Esempi

Nell'esempio seguente viene creata un'istanza del tipo e viene visualizzata IsAutoLayout la proprietà.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" );
}

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 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}.",
            myType.IsAutoLayout); 
    }
}
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 Main()
        ' Get the Type object for the Demo class.
        Dim myType As Type = GetType(Demo)
        ' Get and display the IsAutoLayout property of the 
        ' Demo class.
        Console.WriteLine("The AutoLayout property for the Demo class is '{0}'.", _
            myType.IsAutoLayout.ToString())
    End Sub 
End Class 

Commenti

Questa proprietà viene fornita per praticità.This property is provided as a convenience. In alternativa, è possibile usare il TypeAttributes.LayoutMask valore di enumerazione per selezionare gli attributi di layout del tipo, quindi TypeAttributes.AutoLayout verificare se è impostato.Alternatively, you can use the TypeAttributes.LayoutMask enumeration value to select the type layout attributes, and then test whether TypeAttributes.AutoLayout is set. I TypeAttributes.AutoLayoutvaloriTypeAttributes.ExplicitLayoutdi enumerazione TypeAttributes.SequentialLayout , e indicano il modo in cui i campi del tipo sono disposti in memoria.The TypeAttributes.AutoLayout,TypeAttributes.ExplicitLayout, and TypeAttributes.SequentialLayout enumeration values indicate the way the fields of the type are laid out in memory.

Per i tipi dinamici, è possibile TypeAttributes.AutoLayout specificare quando si crea il tipo.For dynamic types, you can specify TypeAttributes.AutoLayout when you create the type. Nel codice applicare l' StructLayoutAttribute attributo con il LayoutKind.Auto valore di enumerazione al tipo, per consentire al runtime di determinare il modo appropriato per definire il layout della classe.In code, apply the StructLayoutAttribute attribute with the LayoutKind.Auto enumeration value to the type, to let the runtime determine the appropriate way to lay out the class.

Nota

Non è possibile usare GetCustomAttributes il metodo per determinare se StructLayoutAttribute l'oggetto è stato applicato a un tipo.You cannot use the GetCustomAttributes method to determine whether the StructLayoutAttribute has been applied to a type.

Se l'oggetto Type corrente rappresenta un tipo generico costruito, questa proprietà si applica alla definizione di tipo generico da cui è stato creato il tipo.If the current Type represents a constructed generic type, this property applies to the generic type definition from which the type was constructed. Se, ad esempio, l' Type oggetto MyGenericType<int> correnteMyGenericType(Of Integer) rappresenta (in Visual Basic), il valore di questa proprietà è determinato daMyGenericType<T>.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>.

Se l'oggetto Type corrente rappresenta un parametro di tipo nella definizione di un tipo o di un metodo generico, la proprietà falserestituisce sempre.If the current Type represents a type parameter in the definition of a generic type or generic method, this property always returns false.

Si applica a

Vedi anche