Expression.NewArrayInit Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
NewArrayExpression Membuat yang mewakili pembuatan array satu dimensi dan menginisialisasinya dari daftar elemen.
Overload
| Nama | Deskripsi |
|---|---|
| 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
- 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);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Creating arrays at runtime requires dynamic code generation.")]
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
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Creating arrays at runtime requires dynamic code generation.")>]
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
- 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 properti diatur Expressions ke nilai yang ditentukan.
- Atribut
Pengecualian
type atau initializers adalah null.
-atau-
Elemen dari initializers adalah null.
Properti Type elemen mewakili initializers jenis yang tidak dapat ditetapkan ke jenis yang type diwakili.
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.
Nota
Elemen akan dikutip hanya jika type adalah Expression. Mengutip berarti elemen dibungkus dalam simpul Quote . Node yang dihasilkan adalah properti UnaryExpression yang Operand merupakan elemen dari initializers.
Properti Type dari hasil 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
- 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);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Creating arrays at runtime requires dynamic code generation.")]
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
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Creating arrays at runtime requires dynamic code generation.")>]
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
- initializers
- Expression[]
Array Expression objek yang digunakan untuk mengisi Expressions koleksi.
Mengembalikan
NewArrayExpression Properti yang memiliki NodeType properti sama dengan NewArrayInit dan properti diatur Expressions ke nilai yang ditentukan.
- Atribut
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.
Nota
Elemen akan dikutip hanya jika type adalah Expression. Mengutip berarti elemen dibungkus dalam simpul Quote . Node yang dihasilkan adalah properti UnaryExpression yang Operand merupakan elemen dari initializers.
Properti Type dari hasil NewArrayExpression mewakili jenis array yang peringkatnya adalah 1 dan yang jenis elemennya adalah type.