Partilhar via


Expression.NewArrayInit Método

Definição

Cria um NewArrayExpression que representa a criação de uma matriz unidimensional e a inicialização dela de uma lista de elementos.

Sobrecargas

NewArrayInit(Type, IEnumerable<Expression>)

Cria um NewArrayExpression que representa a criação de uma matriz unidimensional e a inicialização dela de uma lista de elementos.

NewArrayInit(Type, Expression[])

Cria um NewArrayExpression que representa a criação de uma matriz unidimensional e a inicialização dela de uma lista de elementos.

NewArrayInit(Type, IEnumerable<Expression>)

Origem:
NewArrayExpression.cs
Origem:
NewArrayExpression.cs
Origem:
NewArrayExpression.cs

Cria um NewArrayExpression que representa a criação de uma matriz unidimensional e a inicialização dela de uma 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

Um Type que representa o tipo de elemento da matriz.

initializers
IEnumerable<Expression>

Um IEnumerable<T> que contém objetos Expression a serem usados para preencher a coleção de Expressions.

Retornos

Uma NewArrayExpression que tem a propriedade NodeType igual a NewArrayInit e a propriedade Expressions definida para o valor especificado.

Exceções

type ou initializers é null.

- ou -

Um elemento de initializers é null.

A propriedade Type de um elemento initializers representa um tipo que não é atribuível ao tipo representado por type.

Exemplos

O exemplo a seguir demonstra como usar o NewArrayInit método para criar uma árvore de expressão que representa a criação de uma matriz de cadeia de caracteres unidimensional inicializada com uma lista de expressões de cadeia de caracteres.

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

Comentários

A Type propriedade de cada elemento de initializers deve representar um tipo atribuível ao tipo representado por type, possivelmente depois de ser citado.

Observação

Um elemento será citado somente se type for Expression. Aspas significam que o elemento é encapsulado em um Quote nó. O nó resultante é um UnaryExpression cuja Operand propriedade é o elemento de initializers.

A Type propriedade do resultante NewArrayExpression representa um tipo de matriz cuja classificação é 1 e cujo tipo de elemento é type.

Aplica-se a

NewArrayInit(Type, Expression[])

Origem:
NewArrayExpression.cs
Origem:
NewArrayExpression.cs
Origem:
NewArrayExpression.cs

Cria um NewArrayExpression que representa a criação de uma matriz unidimensional e a inicialização dela de uma 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

Um Type que representa o tipo de elemento da matriz.

initializers
Expression[]

Uma matriz de objetos Expression a serem usados para popular a coleção de Expressions.

Retornos

Uma NewArrayExpression que tem a propriedade NodeType igual a NewArrayInit e a propriedade Expressions definida para o valor especificado.

Exceções

type ou initializers é null.

- ou -

Um elemento de initializers é null.

A propriedade Type de um elemento de initializers representa um tipo que não é atribuível ao tipo type.

Exemplos

O exemplo a seguir demonstra como usar o NewArrayInit método para criar uma árvore de expressão que representa a criação de uma matriz de cadeia de caracteres unidimensional inicializada com uma lista de expressões de cadeia de caracteres.

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

Comentários

A Type propriedade de cada elemento de initializers deve representar um tipo atribuível ao tipo representado por type, possivelmente depois de ser citado.

Observação

Um elemento será citado somente se type for Expression. Aspas significam que o elemento é encapsulado em um Quote nó. O nó resultante é um UnaryExpression cuja Operand propriedade é o elemento de initializers.

A Type propriedade do resultante NewArrayExpression representa um tipo de matriz cuja classificação é 1 e cujo tipo de elemento é type.

Aplica-se a