Expression.NewArrayInit Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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
- 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
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
- 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
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.