Expression.NewArrayInit Methode

Definitie

Hiermee maakt u een NewArrayExpression matrix die een eendimensionale matrix maakt en initialiseert op basis van een lijst met elementen.

Overloads

Name Description
NewArrayInit(Type, IEnumerable<Expression>)

Hiermee maakt u een NewArrayExpression matrix die een eendimensionale matrix maakt en initialiseert op basis van een lijst met elementen.

NewArrayInit(Type, Expression[])

Hiermee maakt u een NewArrayExpression matrix die een eendimensionale matrix maakt en initialiseert op basis van een lijst met elementen.

NewArrayInit(Type, IEnumerable<Expression>)

Hiermee maakt u een NewArrayExpression matrix die een eendimensionale matrix maakt en initialiseert op basis van een lijst met elementen.

public:
 static System::Linq::Expressions::NewArrayExpression ^ NewArrayInit(Type ^ type, System::Collections::Generic::IEnumerable<System::Linq::Expressions::Expression ^> ^ initializers);
public static System.Linq.Expressions.NewArrayExpression NewArrayInit(Type type, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression> initializers);
static member NewArrayInit : Type * seq<System.Linq.Expressions.Expression> -> System.Linq.Expressions.NewArrayExpression
Public Shared Function NewArrayInit (type As Type, initializers As IEnumerable(Of Expression)) As NewArrayExpression

Parameters

type
Type

Een Type die het elementtype van de matrix vertegenwoordigt.

initializers
IEnumerable<Expression>

Een IEnumerable<T> met Expression objecten die moeten worden gebruikt om de Expressions verzameling te vullen.

Retouren

Een NewArrayExpression met de NodeType eigenschap die gelijk is aan NewArrayInit en de Expressions eigenschap is ingesteld op de opgegeven waarde.

Uitzonderingen

type of initializers is null.

– of –

Een element van initializers is null.

De Type eigenschap van een element van initializers een element vertegenwoordigt een type dat niet kan worden toegewezen aan het type dat type aangeeft.

Voorbeelden

In het volgende voorbeeld ziet u hoe u de NewArrayInit methode gebruikt om een expressiestructuur te maken die het maken van een eendimensionale tekenreeksmatrix vertegenwoordigt die wordt geïnitialiseerd met een lijst met tekenreeksexpressies.

List<System.Linq.Expressions.Expression> trees =
    new List<System.Linq.Expressions.Expression>()
        { System.Linq.Expressions.Expression.Constant("oak"),
          System.Linq.Expressions.Expression.Constant("fir"),
          System.Linq.Expressions.Expression.Constant("spruce"),
          System.Linq.Expressions.Expression.Constant("alder") };

// Create an expression tree that represents creating and
// initializing a one-dimensional array of type string.
System.Linq.Expressions.NewArrayExpression newArrayExpression =
    System.Linq.Expressions.Expression.NewArrayInit(typeof(string), trees);

// Output the string representation of the Expression.
Console.WriteLine(newArrayExpression.ToString());

// This code produces the following output:
//
// new [] {"oak", "fir", "spruce", "alder"}
Dim trees As New System.Collections.Generic.List(Of System.Linq.Expressions.Expression) _
        (New System.Linq.Expressions.Expression() _
         {System.Linq.Expressions.Expression.Constant("oak"), _
          System.Linq.Expressions.Expression.Constant("fir"), _
          System.Linq.Expressions.Expression.Constant("spruce"), _
          System.Linq.Expressions.Expression.Constant("alder")})

' Create an expression tree that represents creating and  
' initializing a one-dimensional array of type string.
Dim newArrayExpression As System.Linq.Expressions.NewArrayExpression = _
    System.Linq.Expressions.Expression.NewArrayInit(Type.GetType("System.String"), trees)

' Output the string representation of the Expression.
Console.WriteLine(newArrayExpression.ToString())

' This code produces the following output:
'
' new [] {"oak", "fir", "spruce", "alder"}

Opmerkingen

De Type eigenschap van elk element van initializers moet een type vertegenwoordigen dat kan worden toegewezen aan het type dat wordt vertegenwoordigd door type, mogelijk nadat het is geciteerd.

Note

Een element wordt alleen geciteerd als type dat het is Expression. Het aanhalingsteken betekent dat het element in een Quote knooppunt wordt verpakt. Het resulterende knooppunt is een UnaryExpression waarvan Operand de eigenschap het element is van initializers.

De Type eigenschap van het resultaat NewArrayExpression vertegenwoordigt een matrixtype waarvan de rang 1 is en waarvan het elementtype is type.

Van toepassing op

NewArrayInit(Type, Expression[])

Hiermee maakt u een NewArrayExpression matrix die een eendimensionale matrix maakt en initialiseert op basis van een lijst met elementen.

public:
 static System::Linq::Expressions::NewArrayExpression ^ NewArrayInit(Type ^ type, ... cli::array <System::Linq::Expressions::Expression ^> ^ initializers);
public static System.Linq.Expressions.NewArrayExpression NewArrayInit(Type type, params System.Linq.Expressions.Expression[] initializers);
static member NewArrayInit : Type * System.Linq.Expressions.Expression[] -> System.Linq.Expressions.NewArrayExpression
Public Shared Function NewArrayInit (type As Type, ParamArray initializers As Expression()) As NewArrayExpression

Parameters

type
Type

Een Type die het elementtype van de matrix vertegenwoordigt.

initializers
Expression[]

Een matrix met Expression objecten die moeten worden gebruikt om de Expressions verzameling te vullen.

Retouren

Een NewArrayExpression met de NodeType eigenschap die gelijk is aan NewArrayInit en de Expressions eigenschap is ingesteld op de opgegeven waarde.

Uitzonderingen

type of initializers is null.

– of –

Een element van initializers is null.

De Type eigenschap van een element van initializers vertegenwoordigt een type dat niet kan worden toegewezen aan het type type.

Voorbeelden

In het volgende voorbeeld ziet u hoe u de NewArrayInit methode gebruikt om een expressiestructuur te maken die het maken van een eendimensionale tekenreeksmatrix vertegenwoordigt die wordt geïnitialiseerd met een lijst met tekenreeksexpressies.

List<System.Linq.Expressions.Expression> trees =
    new List<System.Linq.Expressions.Expression>()
        { System.Linq.Expressions.Expression.Constant("oak"),
          System.Linq.Expressions.Expression.Constant("fir"),
          System.Linq.Expressions.Expression.Constant("spruce"),
          System.Linq.Expressions.Expression.Constant("alder") };

// Create an expression tree that represents creating and
// initializing a one-dimensional array of type string.
System.Linq.Expressions.NewArrayExpression newArrayExpression =
    System.Linq.Expressions.Expression.NewArrayInit(typeof(string), trees);

// Output the string representation of the Expression.
Console.WriteLine(newArrayExpression.ToString());

// This code produces the following output:
//
// new [] {"oak", "fir", "spruce", "alder"}
Dim trees As New System.Collections.Generic.List(Of System.Linq.Expressions.Expression) _
        (New System.Linq.Expressions.Expression() _
         {System.Linq.Expressions.Expression.Constant("oak"), _
          System.Linq.Expressions.Expression.Constant("fir"), _
          System.Linq.Expressions.Expression.Constant("spruce"), _
          System.Linq.Expressions.Expression.Constant("alder")})

' Create an expression tree that represents creating and  
' initializing a one-dimensional array of type string.
Dim newArrayExpression As System.Linq.Expressions.NewArrayExpression = _
    System.Linq.Expressions.Expression.NewArrayInit(Type.GetType("System.String"), trees)

' Output the string representation of the Expression.
Console.WriteLine(newArrayExpression.ToString())

' This code produces the following output:
'
' new [] {"oak", "fir", "spruce", "alder"}

Opmerkingen

De Type eigenschap van elk element van initializers moet een type vertegenwoordigen dat kan worden toegewezen aan het type dat wordt vertegenwoordigd door type, mogelijk nadat het is geciteerd.

Note

Een element wordt alleen geciteerd als type dat het is Expression. Het aanhalingsteken betekent dat het element in een Quote knooppunt wordt verpakt. Het resulterende knooppunt is een UnaryExpression waarvan Operand de eigenschap het element is van initializers.

De Type eigenschap van het resultaat NewArrayExpression vertegenwoordigt een matrixtype waarvan de rang 1 is en waarvan het elementtype is type.

Van toepassing op