Exportar (0) Imprimir
Expandir Tudo
Expandir Minimizar
Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original

Propriedade Type.IsLayoutSequential

Obtém um valor que indica se os campos do tipo atual são apresentados em sequência, na ordem em que foram definidas ou emitidos nos metadados.

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

public bool IsLayoutSequential { get; }

Valor de propriedade

Tipo: System.Boolean
true se a propriedade de Attributes do tipo atual incluirá TypeAttributes.SequentialLayout; caso contrário, false.

Implementações

_Type.IsLayoutSequential

Esta propriedade é fornecida como uma conveniência. Como alternativa, você pode usar o valor de enumeração TypeAttributes.LayoutMask para selecionar os atributos de layout do tipo, e testa se TypeAttributes.SequentialLayout está definido. TypeAttributes.AutoLayout , TypeAttributes.ExplicitLayout, e os valores de enumeração de TypeAttributes.SequentialLayout indica que a forma como os campos de tipo é apresentada na memória.

Para tipos dinâmicos, você pode especificar TypeAttributes.SequentialLayout quando você cria o tipo. No código, aplicar o atributo de StructLayoutAttribute com o valor de enumeração LayoutKind.Sequential para o tipo, para especificar que o layout é sequencial.

ObservaçãoObservação

Você não pode usar o método de GetCustomAttributes para determinar se StructLayoutAttribute esteve aplicado a um tipo.

Seção de 9.1.2 Para obter mais informações, consulte a especificação para a documentação de (CLI) de infraestrutura de linguagem comum, “partição II: Definição de metadados e semântica”. A documentação está disponível online; consulte ECMA C# and Common Language Infrastructure Standards na MSDN e Standard ECMA-335 - Common Language Infrastructure (CLI) no site da Ecma International.

Caso o Type atual represente um tipo genérico construído, esta propriedade aplica-se à definição de tipo genérico a partir da qual o tipo foi construído. Por exemplo, se Type atual representa MyGenericType<int> (MyGenericType(Of Integer) no Visual Basic), o valor dessa propriedade é determinado por MyGenericType<T>.

Caso o Type atual represente um parâmetro de tipo na definição de um tipo genérico ou um método genérico, esta propriedade sempre retorna false.

O exemplo a seguir cria uma instância de uma classe para o qual o valor de enumeração de LayoutKind.Sequential na classe de StructLayoutAttribute foi definido, verifica a propriedade de IsLayoutSequential , e exibe o resultado.


using System;
using System.Reflection;
using System.ComponentModel;
using System.Runtime.InteropServices;
class MyTypeSequential1
{
}
[StructLayoutAttribute(LayoutKind.Sequential)]
class MyTypeSequential2
{
    public static void Main(string []args)
    {
        try
        {
            // Create an instance of myTypeSeq1.
            MyTypeSequential1 myObj1 = new MyTypeSequential1();
            Type myTypeObj1 = myObj1.GetType();
            // Check for and display the SequentialLayout attribute.
            Console.WriteLine("\nThe object myObj1 has IsLayoutSequential: {0}.", myObj1.GetType().IsLayoutSequential);
            // Create an instance of 'myTypeSeq2' class.
            MyTypeSequential2 myObj2 = new MyTypeSequential2();
            Type myTypeObj2 = myObj2.GetType();
            // Check for and display the SequentialLayout attribute.
            Console.WriteLine("\nThe object myObj2 has IsLayoutSequential: {0}.", myObj2.GetType().IsLayoutSequential);
        }
        catch(Exception e)
        {
            Console.WriteLine("\nAn exception occurred: {0}", e.Message);
        }
    }
}


.NET Framework

Com suporte em: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Com suporte em: 4, 3.5 SP1

.NET para aplicativos do Windows Phone

Com suporte em: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Função Server Core sem suporte), Windows Server 2008 R2 (Função Server Core com suporte com o SP1 ou posterior, Itanium sem suporte)

O .NET Framework não oferece suporte a todas as versões de cada plataforma. Para obter uma lista das versões com suporte, consulte Requisitos do sistema do .NET Framework.

Contribuições da comunidade

ADICIONAR
Mostrar:
© 2014 Microsoft