Type.IsAutoLayout Propriedade
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Recebe um valor que indica se os campos do tipo atual estão automaticamente organizados pelo runtime da linguagem comum.
public:
property bool IsAutoLayout { bool get(); };
public bool IsAutoLayout { get; }
member this.IsAutoLayout : bool
Public ReadOnly Property IsAutoLayout As Boolean
Valor de Propriedade
true se a Attributes propriedade do tipo atual incluir AutoLayout; caso contrário, false.
Implementações
Exemplos
O exemplo seguinte cria uma instância do tipo e apresenta 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
Observações
Esta propriedade é fornecida por conveniência. Alternativamente, pode usar o TypeAttributes.LayoutMask valor de enumeração para selecionar os atributos de layout de tipos e depois testar se TypeAttributes.AutoLayout está definido. Os TypeAttributes.AutoLayoutvalores de ,TypeAttributes.ExplicitLayout, e TypeAttributes.SequentialLayout enumeração indicam a forma como os campos do tipo estão dispostos na memória.
Para tipos dinâmicos, podes especificar TypeAttributes.AutoLayout quando crias o tipo. No código, aplica-se o StructLayoutAttribute atributo com o LayoutKind.Auto valor de enumeração ao tipo, para que o runtime determine a forma apropriada de dispor a classe.
Note
Não pode usar o GetCustomAttributes método para determinar se o StructLayoutAttribute foi aplicado a um tipo.
Se a corrente Type representa um tipo genérico construído, esta propriedade aplica-se à definição genérica de tipo a partir da qual o tipo foi construído. Por exemplo, se o atual Type representa MyGenericType<int> (MyGenericType(Of Integer) em Visual Basic), o valor desta propriedade é determinado por MyGenericType<T>.
Se a corrente Type representa um parâmetro de tipo na definição de um tipo genérico ou método genérico, esta propriedade devolve falsesempre .