Type.IsAutoLayout Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém um valor que indica se os campos do tipo atual são dispostos automaticamente pelo common language runtime.
public:
property bool IsAutoLayout { bool get(); };
public bool IsAutoLayout { get; }
member this.IsAutoLayout : bool
Public ReadOnly Property IsAutoLayout As Boolean
Valor da propriedade
true se a Attributes propriedade do tipo atual incluir AutoLayout; caso contrário, false.
Implementações
Exemplos
O exemplo a seguir cria uma instância do tipo e exibe a IsAutoLayout propriedade.
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);
}
}
open System.Runtime.InteropServices
// The Demo class is attributed as AutoLayout.
[<StructLayoutAttribute(LayoutKind.Auto)>]
type Demo = class end
// Create an instance of the Type class using the GetType method.
let myType = typeof<Demo>
// Get and display the IsAutoLayout property of the
// Demoinstance.
printfn $"\nThe AutoLayout property for the Demo class is {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
Comentários
Essa propriedade é fornecida como uma conveniência. Como alternativa, você pode usar o valor de TypeAttributes.LayoutMask enumeração para selecionar os atributos de layout de tipo e, em seguida, testar se TypeAttributes.AutoLayout está definido. Os TypeAttributes.AutoLayoutvalores ,TypeAttributes.ExplicitLayoute enumeração TypeAttributes.SequentialLayout indicam a maneira como os campos do tipo são dispostos na memória.
Para tipos dinâmicos, você pode especificar TypeAttributes.AutoLayout ao criar o tipo. No código, aplique o StructLayoutAttribute atributo com o LayoutKind.Auto valor de enumeração ao tipo, para permitir que o runtime determine a maneira apropriada de definir a classe.
Observação
Você não pode usar o GetCustomAttributes método para determinar se ele StructLayoutAttribute foi aplicado a um tipo.
Se a corrente Type representar um tipo genérico construído, essa propriedade se aplicará à definição de tipo genérico da qual o tipo foi construído. Por exemplo, se a atual Type representa MyGenericType<int> (MyGenericType(Of Integer) no Visual Basic), o valor dessa propriedade é determinado por MyGenericType<T>.
Se a corrente Type representar um parâmetro de tipo na definição de um tipo genérico ou método genérico, essa propriedade sempre retornará false.