Expression.NewArrayInit Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vytvoří objekt NewArrayExpression , který představuje vytvoření jednorozměrného pole a inicializaci ze seznamu prvků.
Přetížení
NewArrayInit(Type, IEnumerable<Expression>) |
Vytvoří objekt NewArrayExpression , který představuje vytvoření jednorozměrného pole a inicializaci ze seznamu prvků. |
NewArrayInit(Type, Expression[]) |
Vytvoří objekt NewArrayExpression , který představuje vytvoření jednorozměrného pole a inicializaci ze seznamu prvků. |
NewArrayInit(Type, IEnumerable<Expression>)
- Zdroj:
- NewArrayExpression.cs
- Zdroj:
- NewArrayExpression.cs
- Zdroj:
- NewArrayExpression.cs
Vytvoří objekt NewArrayExpression , který představuje vytvoření jednorozměrného pole a inicializaci ze seznamu prvků.
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
Parametry
- initializers
- IEnumerable<Expression>
Objekt IEnumerable<T> obsahující objekty, které Expression se mají použít k naplnění Expressions kolekce.
Návraty
Vlastnost NewArrayExpression má rovnou NodeTypeNewArrayInit a Expressions vlastnost nastavenou na zadanou hodnotu.
Výjimky
Vlastnost Type prvku initializers
představuje typ, který nelze přiřadit k typu, který type
představuje.
Příklady
Následující příklad ukazuje, jak použít metodu NewArrayInit k vytvoření stromu výrazů, který představuje vytvoření jednorozměrného pole řetězců, který je inicializován se seznamem řetězcových výrazů.
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"}
Poznámky
Vlastnost Type každého prvku initializers
musí představovat typ, který je možné přiřadit k typu reprezentovanému znakem type
, případně po jeho uvozování.
Poznámka
Prvek bude uvozován pouze v případě, že type
je Expression. Uvozování znamená, že je prvek zabalený v Quote uzlu. Výsledný uzel je objekt, UnaryExpression jehož Operand vlastnost je elementem .initializers
Vlastnost Type výsledného NewArrayExpression představuje typ pole, jehož pořadí je 1 a jehož typ prvku je type
.
Platí pro
NewArrayInit(Type, Expression[])
- Zdroj:
- NewArrayExpression.cs
- Zdroj:
- NewArrayExpression.cs
- Zdroj:
- NewArrayExpression.cs
Vytvoří objekt NewArrayExpression , který představuje vytvoření jednorozměrného pole a inicializaci ze seznamu prvků.
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
Parametry
- initializers
- Expression[]
Pole Expression objektů, které se mají použít k naplnění Expressions kolekce.
Návraty
Vlastnost NewArrayExpression má rovnou NodeTypeNewArrayInit a Expressions vlastnost nastavenou na zadanou hodnotu.
Výjimky
Vlastnost Type elementu initializers
představuje typ, který nelze přiřadit k typu type
.
Příklady
Následující příklad ukazuje, jak použít metodu NewArrayInit k vytvoření stromu výrazů, který představuje vytvoření jednorozměrného pole řetězců, který je inicializován se seznamem řetězcových výrazů.
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"}
Poznámky
Vlastnost Type každého prvku initializers
musí představovat typ, který je možné přiřadit k typu reprezentovanému znakem type
, případně po jeho uvozování.
Poznámka
Prvek bude uvozován pouze v případě, že type
je Expression. Uvozování znamená, že je prvek zabalený v Quote uzlu. Výsledný uzel je objekt, UnaryExpression jehož Operand vlastnost je elementem .initializers
Vlastnost Type výsledného NewArrayExpression představuje typ pole, jehož pořadí je 1 a jehož typ prvku je type
.