Expression.NewArrayInit Metod

Definition

Skapar en NewArrayExpression som representerar skapandet av en endimensionell matris och initierar den från en lista med element.

Överlagringar

Name Description
NewArrayInit(Type, IEnumerable<Expression>)

Skapar en NewArrayExpression som representerar skapandet av en endimensionell matris och initierar den från en lista med element.

NewArrayInit(Type, Expression[])

Skapar en NewArrayExpression som representerar skapandet av en endimensionell matris och initierar den från en lista med element.

NewArrayInit(Type, IEnumerable<Expression>)

Skapar en NewArrayExpression som representerar skapandet av en endimensionell matris och initierar den från en lista med element.

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

Parametrar

type
Type

En Type som representerar matrisens elementtyp.

initializers
IEnumerable<Expression>

En IEnumerable<T> som innehåller Expression objekt som ska användas för att fylla samlingen Expressions .

Returer

En NewArrayExpression som har egenskapen NodeType lika med NewArrayInit och egenskapen Expressions inställd på det angivna värdet.

Undantag

type eller initializers är null.

-eller-

Ett element i initializers är null.

Egenskapen Type för ett element av initializers representerar en typ som inte kan tilldelas till den typ som type representerar.

Exempel

I följande exempel visas hur du använder NewArrayInit metoden för att skapa ett uttrycksträd som representerar skapandet av en endimensionell strängmatris som initieras med en lista över stränguttryck.

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

Kommentarer

Egenskapen Type för varje element initializers i måste representera en typ som kan tilldelas den typ som representeras av type, eventuellt efter att den har citerats.

Note

Ett element anges endast om type är Expression. Citat innebär att elementet omsluts i en Quote nod. Den resulterande noden är en UnaryExpression vars Operand egenskap är elementet initializersi .

Egenskapen Type för resultatet NewArrayExpression representerar en matristyp vars rangordning är 1 och vars elementtyp är type.

Gäller för

NewArrayInit(Type, Expression[])

Skapar en NewArrayExpression som representerar skapandet av en endimensionell matris och initierar den från en lista med element.

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

Parametrar

type
Type

En Type som representerar matrisens elementtyp.

initializers
Expression[]

En matris med Expression objekt som ska användas för att fylla samlingen Expressions .

Returer

En NewArrayExpression som har egenskapen NodeType lika med NewArrayInit och egenskapen Expressions inställd på det angivna värdet.

Undantag

type eller initializers är null.

-eller-

Ett element i initializers är null.

Egenskapen Type för ett element av initializers representerar en typ som inte kan tilldelas till typen type.

Exempel

I följande exempel visas hur du använder NewArrayInit metoden för att skapa ett uttrycksträd som representerar skapandet av en endimensionell strängmatris som initieras med en lista över stränguttryck.

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

Kommentarer

Egenskapen Type för varje element initializers i måste representera en typ som kan tilldelas den typ som representeras av type, eventuellt efter att den har citerats.

Note

Ett element anges endast om type är Expression. Citat innebär att elementet omsluts i en Quote nod. Den resulterande noden är en UnaryExpression vars Operand egenskap är elementet initializersi .

Egenskapen Type för resultatet NewArrayExpression representerar en matristyp vars rangordning är 1 och vars elementtyp är type.

Gäller för