Compartir a través de


Expression.NewArrayInit Método

Definición

Crea un objeto NewArrayExpression que representa la creación de una matriz unidimensional y su inicialización a partir de una lista de elementos.

Sobrecargas

NewArrayInit(Type, IEnumerable<Expression>)

Crea un objeto NewArrayExpression que representa la creación de una matriz unidimensional y su inicialización a partir de una lista de elementos.

NewArrayInit(Type, Expression[])

Crea un objeto NewArrayExpression que representa la creación de una matriz unidimensional y su inicialización a partir de una lista de elementos.

NewArrayInit(Type, IEnumerable<Expression>)

Source:
NewArrayExpression.cs
Source:
NewArrayExpression.cs
Source:
NewArrayExpression.cs

Crea un objeto NewArrayExpression que representa la creación de una matriz unidimensional y su inicialización a partir de una lista de elementos.

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

Parámetros

type
Type

Type que representa el tipo de elemento de la matriz.

initializers
IEnumerable<Expression>

IEnumerable<T> que contiene los objetos Expression que se van a usar para rellenar la colección de Expressions.

Devoluciones

NewArrayExpression cuya propiedad NodeType es NewArrayInit y cuya propiedad Expressions se establece en el valor especificado.

Excepciones

type o initializers es null.

o bien

Un elemento de initializers es null.

La propiedad Type de un elemento de initializers representa un tipo que no puede asignarse al tipo representado por type.

Ejemplos

En el ejemplo siguiente se muestra cómo usar el NewArrayInit método para crear un árbol de expresión que representa la creación de una matriz de cadenas unidimensional que se inicializa con una lista de expresiones de cadena.

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

Comentarios

La Type propiedad de cada elemento de initializers debe representar un tipo que se pueda asignar al tipo representado por type, posiblemente después de que esté entre comillas.

Nota

Un elemento solo se citará si type es Expression. Entre comillas significa que el elemento se encapsula en un Quote nodo. El nodo resultante es un UnaryExpression cuya Operand propiedad es el elemento de initializers.

La Type propiedad del resultante NewArrayExpression representa un tipo de matriz cuyo rango es 1 y cuyo tipo de elemento es type.

Se aplica a

NewArrayInit(Type, Expression[])

Source:
NewArrayExpression.cs
Source:
NewArrayExpression.cs
Source:
NewArrayExpression.cs

Crea un objeto NewArrayExpression que representa la creación de una matriz unidimensional y su inicialización a partir de una lista de elementos.

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

Parámetros

type
Type

Type que representa el tipo de elemento de la matriz.

initializers
Expression[]

Matriz de objetos Expression que se va a usar para rellenar la colección de Expressions.

Devoluciones

NewArrayExpression cuya propiedad NodeType es NewArrayInit y cuya propiedad Expressions se establece en el valor especificado.

Excepciones

type o initializers es null.

o bien

Un elemento de initializers es null.

La propiedad Type de un elemento de initializers representa un tipo que no puede asignarse al tipo type.

Ejemplos

En el ejemplo siguiente se muestra cómo usar el NewArrayInit método para crear un árbol de expresión que representa la creación de una matriz de cadenas unidimensional que se inicializa con una lista de expresiones de cadena.

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

Comentarios

La Type propiedad de cada elemento de initializers debe representar un tipo que se pueda asignar al tipo representado por type, posiblemente después de que esté entre comillas.

Nota

Un elemento solo se citará si type es Expression. Entre comillas significa que el elemento se encapsula en un Quote nodo. El nodo resultante es un UnaryExpression cuya Operand propiedad es el elemento de initializers.

La Type propiedad del resultante NewArrayExpression representa un tipo de matriz cuyo rango es 1 y cuyo tipo de elemento es type.

Se aplica a