Expression.ElementInit 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.
Membuat sebuah ElementInit.
Overload
ElementInit(MethodInfo, IEnumerable<Expression>) |
ElementInitMembuat , yang diberikan IEnumerable<T> sebagai argumen kedua. |
ElementInit(MethodInfo, Expression[]) |
ElementInitMembuat , yang diberi array nilai sebagai argumen kedua. |
ElementInit(MethodInfo, IEnumerable<Expression>)
- Sumber:
- ElementInit.cs
- Sumber:
- ElementInit.cs
- Sumber:
- ElementInit.cs
ElementInitMembuat , yang diberikan IEnumerable<T> sebagai argumen kedua.
public:
static System::Linq::Expressions::ElementInit ^ ElementInit(System::Reflection::MethodInfo ^ addMethod, System::Collections::Generic::IEnumerable<System::Linq::Expressions::Expression ^> ^ arguments);
public static System.Linq.Expressions.ElementInit ElementInit (System.Reflection.MethodInfo addMethod, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression> arguments);
static member ElementInit : System.Reflection.MethodInfo * seq<System.Linq.Expressions.Expression> -> System.Linq.Expressions.ElementInit
Public Shared Function ElementInit (addMethod As MethodInfo, arguments As IEnumerable(Of Expression)) As ElementInit
Parameter
- addMethod
- MethodInfo
A MethodInfo untuk mengatur AddMethod properti sama dengan.
- arguments
- IEnumerable<Expression>
Yang IEnumerable<T> berisi Expression objek untuk mengatur properti yang Arguments sama dengan.
Mengembalikan
Properti ElementInit dan Arguments yang AddMethod diatur ke nilai yang ditentukan.
Pengecualian
addMethod
atau arguments
adalah null
.
Metode yang addMethod
mewakili tidak bernama "Tambahkan" (tidak peka huruf besar/kecil).
-atau-
Metode yang addMethod
mewakili bukan metode instans.
-atau-
arguments
tidak berisi jumlah elemen yang sama dengan jumlah parameter untuk metode yang addMethod
diwakili.
-atau-
Properti Type dari satu atau beberapa elemen arguments
tidak dapat ditetapkan ke jenis parameter yang sesuai dari metode yang addMethod
mewakili.
Contoh
Contoh berikut menunjukkan cara menggunakan ElementInit(MethodInfo, Expression[]) metode untuk membuat ElementInit yang mewakili pemanggilan Add metode untuk menginisialisasi elemen koleksi kamus.
string tree = "maple";
System.Reflection.MethodInfo addMethod = typeof(Dictionary<int, string>).GetMethod("Add");
// Create an ElementInit that represents calling
// Dictionary<int, string>.Add(tree.Length, tree).
System.Linq.Expressions.ElementInit elementInit =
System.Linq.Expressions.Expression.ElementInit(
addMethod,
System.Linq.Expressions.Expression.Constant(tree.Length),
System.Linq.Expressions.Expression.Constant(tree));
Console.WriteLine(elementInit.ToString());
// This code produces the following output:
//
// Void Add(Int32, System.String)(5,"maple")
Dim tree As String = "maple"
Dim addMethod As System.Reflection.MethodInfo = _
Type.GetType("System.Collections.Generic.Dictionary`2[System.Int32, System.String]").GetMethod("Add")
' Create an ElementInit that represents calling
' Dictionary(Of Integer, String).Add(tree.Length, tree).
Dim elementInit As System.Linq.Expressions.ElementInit = _
System.Linq.Expressions.Expression.ElementInit( _
addMethod, _
System.Linq.Expressions.Expression.Constant(tree.Length), _
System.Linq.Expressions.Expression.Constant(tree))
Console.WriteLine(elementInit.ToString())
' This code produces the following output:
'
' Void Add(Int32, System.String)(5,"maple")
Keterangan
Parameter addMethod
harus mewakili metode instans bernama "Tambahkan" (tidak peka huruf besar/kecil). Metode tambahkan harus memiliki jumlah parameter yang sama dengan jumlah elemen di arguments
. Properti Type dari setiap elemen di arguments
harus dapat ditetapkan ke jenis parameter yang sesuai dari metode tambahkan, mungkin setelah mengutip.
Catatan
Elemen akan dikutip hanya jika parameter metode yang sesuai berjenis Expression. Mengutip berarti elemen dibungkus dalam simpul Quote . Simpul yang dihasilkan adalah yang UnaryExpression propertinya Operand adalah elemen dari arguments
.
Berlaku untuk
ElementInit(MethodInfo, Expression[])
- Sumber:
- ElementInit.cs
- Sumber:
- ElementInit.cs
- Sumber:
- ElementInit.cs
ElementInitMembuat , yang diberi array nilai sebagai argumen kedua.
public:
static System::Linq::Expressions::ElementInit ^ ElementInit(System::Reflection::MethodInfo ^ addMethod, ... cli::array <System::Linq::Expressions::Expression ^> ^ arguments);
public static System.Linq.Expressions.ElementInit ElementInit (System.Reflection.MethodInfo addMethod, params System.Linq.Expressions.Expression[] arguments);
static member ElementInit : System.Reflection.MethodInfo * System.Linq.Expressions.Expression[] -> System.Linq.Expressions.ElementInit
Public Shared Function ElementInit (addMethod As MethodInfo, ParamArray arguments As Expression()) As ElementInit
Parameter
- addMethod
- MethodInfo
A MethodInfo untuk mengatur AddMethod properti sama dengan.
- arguments
- Expression[]
Array Expression objek untuk mengatur Arguments properti sama dengan.
Mengembalikan
Properti ElementInit dan Arguments yang AddMethod diatur ke nilai yang ditentukan.
Pengecualian
addMethod
atau arguments
adalah null
.
Metode yang diwakili addMethod tidak bernama "Tambahkan" (tidak peka huruf besar/kecil).
-atau-
Metode yang diwakili addMethod bukanlah metode instans.
-atau-
argumen tidak berisi jumlah elemen yang sama dengan jumlah parameter untuk metode yang diwakili addMethod.
-atau-
Properti Type dari satu atau beberapa elemen arguments
tidak dapat ditetapkan ke jenis parameter yang sesuai dari metode yang addMethod
mewakili.
Contoh
Contoh berikut menunjukkan cara menggunakan ElementInit(MethodInfo, Expression[]) metode untuk membuat ElementInit yang mewakili pemanggilan Add metode untuk menginisialisasi elemen koleksi kamus.
string tree = "maple";
System.Reflection.MethodInfo addMethod = typeof(Dictionary<int, string>).GetMethod("Add");
// Create an ElementInit that represents calling
// Dictionary<int, string>.Add(tree.Length, tree).
System.Linq.Expressions.ElementInit elementInit =
System.Linq.Expressions.Expression.ElementInit(
addMethod,
System.Linq.Expressions.Expression.Constant(tree.Length),
System.Linq.Expressions.Expression.Constant(tree));
Console.WriteLine(elementInit.ToString());
// This code produces the following output:
//
// Void Add(Int32, System.String)(5,"maple")
Dim tree As String = "maple"
Dim addMethod As System.Reflection.MethodInfo = _
Type.GetType("System.Collections.Generic.Dictionary`2[System.Int32, System.String]").GetMethod("Add")
' Create an ElementInit that represents calling
' Dictionary(Of Integer, String).Add(tree.Length, tree).
Dim elementInit As System.Linq.Expressions.ElementInit = _
System.Linq.Expressions.Expression.ElementInit( _
addMethod, _
System.Linq.Expressions.Expression.Constant(tree.Length), _
System.Linq.Expressions.Expression.Constant(tree))
Console.WriteLine(elementInit.ToString())
' This code produces the following output:
'
' Void Add(Int32, System.String)(5,"maple")
Keterangan
Parameter addMethod
harus mewakili metode instans bernama "Tambahkan" (tidak peka huruf besar/kecil). Metode tambahkan harus memiliki jumlah parameter yang sama dengan jumlah elemen di arguments
. Properti Type dari setiap elemen di arguments
harus dapat ditetapkan ke jenis parameter yang sesuai dari metode tambahkan, mungkin setelah mengutip.
Catatan
Elemen akan dikutip hanya jika parameter metode yang sesuai berjenis Expression. Mengutip berarti elemen dibungkus dalam simpul Quote . Simpul yang dihasilkan adalah yang UnaryExpression propertinya Operand adalah elemen dari arguments
.