Type.IsAutoLayout Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene un valore che indica se i campi del tipo corrente sono disposti automaticamente dal 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
.
Implementazioni
Esempio
Nell'esempio seguente viene creata un'istanza del tipo e viene visualizzata la IsAutoLayout proprietà .
#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);
}
}
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
Commenti
Questa proprietà viene fornita come praticità. In alternativa, è possibile usare il valore di enumerazione per selezionare gli attributi del TypeAttributes.LayoutMask layout del tipo e quindi verificare se TypeAttributes.AutoLayout è impostato. I TypeAttributes.AutoLayoutvalori diTypeAttributes.ExplicitLayout enumerazione e TypeAttributes.SequentialLayout indicano il modo in cui i campi del tipo sono disposti in memoria.
Per i tipi dinamici, è possibile specificare TypeAttributes.AutoLayout quando si crea il tipo. Nel codice applicare l'attributo con il StructLayoutAttributeLayoutKind.Auto valore di enumerazione al tipo per consentire al runtime di determinare il modo appropriato per definire la classe.
Nota
Non è possibile usare il metodo per determinare se l'oggetto GetCustomAttributesStructLayoutAttribute è stato applicato a un tipo.
Se l'oggetto corrente Type rappresenta un tipo generico costruito, questa proprietà si applica alla definizione di tipo generico da cui è stato costruito il tipo. Ad esempio, se l'oggetto corrente Type rappresenta MyGenericType<int>
(MyGenericType(Of Integer)
in Visual Basic), il valore di questa proprietà viene determinato da MyGenericType<T>.
Se l'oggetto corrente Type rappresenta un parametro di tipo nella definizione di un tipo generico o di un metodo generico, questa proprietà restituisce false
sempre .