Condividi tramite


Expression.NewArrayInit Metodo

Definizione

Crea un oggetto NewArrayExpression che rappresenta la creazione di una matrice unidimensionale e la relativa inizializzazione da un elenco di elementi.

Overload

NewArrayInit(Type, IEnumerable<Expression>)

Crea un oggetto NewArrayExpression che rappresenta la creazione di una matrice unidimensionale e la relativa inizializzazione da un elenco di elementi.

NewArrayInit(Type, Expression[])

Crea un oggetto NewArrayExpression che rappresenta la creazione di una matrice unidimensionale e la relativa inizializzazione da un elenco di elementi.

NewArrayInit(Type, IEnumerable<Expression>)

Origine:
NewArrayExpression.cs
Origine:
NewArrayExpression.cs
Origine:
NewArrayExpression.cs

Crea un oggetto NewArrayExpression che rappresenta la creazione di una matrice unidimensionale e la relativa inizializzazione da un elenco di elementi.

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

Parametri

type
Type

Oggetto Type che rappresenta il tipo di elemento della matrice.

initializers
IEnumerable<Expression>

Oggetto IEnumerable<T> contenente gli oggetti Expression da usare per popolare la raccolta Expressions.

Restituisce

Oggetto NewArrayExpression la cui proprietà NodeType è uguale a NewArrayInit e la cui proprietà Expressions è impostata sul valore specificato.

Eccezioni

type o initializers è null.

-oppure-

Un elemento di initializers è null.

La proprietà Type di un elemento di initializers rappresenta un tipo non assegnabile al tipo rappresentato da type.

Esempio

Nell'esempio seguente viene illustrato come utilizzare il NewArrayInit metodo per creare un albero delle espressioni che rappresenta la creazione di una matrice di stringhe unidimensionale inizializzata con un elenco di espressioni stringa.

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"}

Commenti

La Type proprietà di ogni elemento di initializers deve rappresentare un tipo assegnabile al tipo rappresentato da type, possibilmente dopo che è racchiuso tra virgolette.

Nota

Un elemento verrà racchiuso tra virgolette solo se type è Expression. Virgolette significa che l'elemento viene racchiuso in un Quote nodo. Il nodo risultante è un oggetto UnaryExpression la cui Operand proprietà è l'elemento di initializers.

La Type proprietà dell'oggetto risultante NewArrayExpression rappresenta un tipo di matrice il cui rango è 1 e il cui tipo di elemento è type.

Si applica a

NewArrayInit(Type, Expression[])

Origine:
NewArrayExpression.cs
Origine:
NewArrayExpression.cs
Origine:
NewArrayExpression.cs

Crea un oggetto NewArrayExpression che rappresenta la creazione di una matrice unidimensionale e la relativa inizializzazione da un elenco di elementi.

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

Parametri

type
Type

Oggetto Type che rappresenta il tipo di elemento della matrice.

initializers
Expression[]

Matrice di oggetti Expression da usare per popolare la raccolta Expressions.

Restituisce

Oggetto NewArrayExpression la cui proprietà NodeType è uguale a NewArrayInit e la cui proprietà Expressions è impostata sul valore specificato.

Eccezioni

type o initializers è null.

-oppure-

Un elemento di initializers è null.

La proprietà Type di un elemento di initializers rappresenta un tipo non assegnabile al tipo type.

Esempio

Nell'esempio seguente viene illustrato come utilizzare il NewArrayInit metodo per creare un albero delle espressioni che rappresenta la creazione di una matrice di stringhe unidimensionale inizializzata con un elenco di espressioni stringa.

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"}

Commenti

La Type proprietà di ogni elemento di initializers deve rappresentare un tipo assegnabile al tipo rappresentato da type, possibilmente dopo che è racchiuso tra virgolette.

Nota

Un elemento verrà racchiuso tra virgolette solo se type è Expression. Virgolette significa che l'elemento viene racchiuso in un Quote nodo. Il nodo risultante è un oggetto UnaryExpression la cui Operand proprietà è l'elemento di initializers.

La Type proprietà dell'oggetto risultante NewArrayExpression rappresenta un tipo di matrice il cui rango è 1 e il cui tipo di elemento è type.

Si applica a