Bagikan melalui


Expression.NewArrayInit Metode

Definisi

NewArrayExpression Membuat yang mewakili pembuatan array satu dimensi dan menginisialisasinya dari daftar elemen.

Overload

NewArrayInit(Type, IEnumerable<Expression>)

NewArrayExpression Membuat yang mewakili pembuatan array satu dimensi dan menginisialisasinya dari daftar elemen.

NewArrayInit(Type, Expression[])

NewArrayExpression Membuat yang mewakili pembuatan array satu dimensi dan menginisialisasinya dari daftar elemen.

NewArrayInit(Type, IEnumerable<Expression>)

Sumber:
NewArrayExpression.cs
Sumber:
NewArrayExpression.cs
Sumber:
NewArrayExpression.cs

NewArrayExpression Membuat yang mewakili pembuatan array satu dimensi dan menginisialisasinya dari daftar elemen.

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

Parameter

type
Type

Type yang mewakili jenis elemen array.

initializers
IEnumerable<Expression>

Yang IEnumerable<T> berisi Expression objek yang akan digunakan untuk mengisi Expressions koleksi.

Mengembalikan

NewArrayExpression properti yang memiliki NodeType properti sama dengan NewArrayInit dan Expressions properti diatur ke nilai yang ditentukan.

Pengecualian

type atau initializers adalah null.

-atau-

Elemen dari initializers adalah null.

Properti Type elemen dari initializers mewakili jenis yang tidak dapat ditetapkan ke jenis yang type mewakili.

Contoh

Contoh berikut menunjukkan cara menggunakan NewArrayInit metode untuk membuat pohon ekspresi yang mewakili pembuatan array string satu dimensi yang diinisialisasi dengan daftar ekspresi string.

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

Keterangan

Properti Type dari setiap elemen initializers harus mewakili jenis yang dapat ditetapkan ke jenis yang diwakili oleh type, mungkin setelah dikutip.

Catatan

Elemen akan dikutip hanya jika type adalah Expression. Mengutip berarti elemen dibungkus dalam simpul Quote . Simpul yang dihasilkan adalah yang UnaryExpression propertinya Operand adalah elemen dari initializers.

Properti Type dari yang dihasilkan NewArrayExpression mewakili jenis array yang peringkatnya adalah 1 dan yang jenis elemennya adalah type.

Berlaku untuk

NewArrayInit(Type, Expression[])

Sumber:
NewArrayExpression.cs
Sumber:
NewArrayExpression.cs
Sumber:
NewArrayExpression.cs

NewArrayExpression Membuat yang mewakili pembuatan array satu dimensi dan menginisialisasinya dari daftar elemen.

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

Parameter

type
Type

Type yang mewakili jenis elemen array.

initializers
Expression[]

Array Expression objek yang digunakan untuk mengisi Expressions koleksi.

Mengembalikan

NewArrayExpression properti yang memiliki NodeType properti sama dengan NewArrayInit dan Expressions properti diatur ke nilai yang ditentukan.

Pengecualian

type atau initializers adalah null.

-atau-

Elemen dari initializers adalah null.

Properti Type elemen dari initializers mewakili jenis yang tidak dapat ditetapkan ke jenis type.

Contoh

Contoh berikut menunjukkan cara menggunakan NewArrayInit metode untuk membuat pohon ekspresi yang mewakili pembuatan array string satu dimensi yang diinisialisasi dengan daftar ekspresi string.

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

Keterangan

Properti Type dari setiap elemen initializers harus mewakili jenis yang dapat ditetapkan ke jenis yang diwakili oleh type, mungkin setelah dikutip.

Catatan

Elemen akan dikutip hanya jika type adalah Expression. Mengutip berarti elemen dibungkus dalam simpul Quote . Simpul yang dihasilkan adalah yang UnaryExpression propertinya Operand adalah elemen dari initializers.

Properti Type dari yang dihasilkan NewArrayExpression mewakili jenis array yang peringkatnya adalah 1 dan yang jenis elemennya adalah type.

Berlaku untuk