Expression.New 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.
NewExpressionMembuat .
Overload
New(ConstructorInfo) |
NewExpression Membuat yang mewakili panggilan konstruktor yang ditentukan yang tidak mengambil argumen. |
New(Type) |
NewExpression Membuat yang mewakili panggilan konstruktor tanpa parameter dari jenis yang ditentukan. |
New(ConstructorInfo, IEnumerable<Expression>) |
NewExpression Membuat yang mewakili panggilan konstruktor yang ditentukan dengan argumen yang ditentukan. |
New(ConstructorInfo, Expression[]) |
NewExpression Membuat yang mewakili panggilan konstruktor yang ditentukan dengan argumen yang ditentukan. |
New(ConstructorInfo, IEnumerable<Expression>, IEnumerable<MemberInfo>) |
NewExpression Membuat yang mewakili panggilan konstruktor yang ditentukan dengan argumen yang ditentukan. Anggota yang mengakses bidang yang diinisialisasi konstruktor ditentukan. |
New(ConstructorInfo, IEnumerable<Expression>, MemberInfo[]) |
NewExpression Membuat yang mewakili panggilan konstruktor yang ditentukan dengan argumen yang ditentukan. Anggota yang mengakses bidang yang diinisialisasi konstruktor ditentukan sebagai array. |
New(ConstructorInfo)
- Sumber:
- NewExpression.cs
- Sumber:
- NewExpression.cs
- Sumber:
- NewExpression.cs
NewExpression Membuat yang mewakili panggilan konstruktor yang ditentukan yang tidak mengambil argumen.
public:
static System::Linq::Expressions::NewExpression ^ New(System::Reflection::ConstructorInfo ^ constructor);
public static System.Linq.Expressions.NewExpression New (System.Reflection.ConstructorInfo constructor);
static member New : System.Reflection.ConstructorInfo -> System.Linq.Expressions.NewExpression
Public Shared Function New (constructor As ConstructorInfo) As NewExpression
Parameter
- constructor
- ConstructorInfo
ConstructorInfo untuk mengatur Constructor properti sama dengan.
Mengembalikan
NewExpression properti yang memiliki NodeType properti sama dengan New dan Constructor properti diatur ke nilai yang ditentukan.
Pengecualian
constructor
adalah null
.
Konstruktor yang constructor
mewakili memiliki setidaknya satu parameter.
Keterangan
Properti Arguments dan Members dari yang dihasilkan NewExpression adalah koleksi kosong. Properti Type mewakili jenis deklarasikan konstruktor yang diwakili oleh constructor
.
Berlaku untuk
New(Type)
- Sumber:
- NewExpression.cs
- Sumber:
- NewExpression.cs
- Sumber:
- NewExpression.cs
NewExpression Membuat yang mewakili panggilan konstruktor tanpa parameter dari jenis yang ditentukan.
public:
static System::Linq::Expressions::NewExpression ^ New(Type ^ type);
public static System.Linq.Expressions.NewExpression New (Type type);
static member New : Type -> System.Linq.Expressions.NewExpression
Public Shared Function New (type As Type) As NewExpression
Parameter
Mengembalikan
NewExpression yang memiliki NodeType properti yang sama dengan New dan Constructor properti diatur ke ConstructorInfo yang mewakili konstruktor tanpa parameter untuk jenis yang ditentukan.
Pengecualian
type
adalah null
.
Jenis yang type
mewakili tidak memiliki konstruktor tanpa parameter.
Contoh
Contoh berikut menunjukkan cara menggunakan New(Type) metode untuk membuat NewExpression yang mewakili pembuatan instans baru objek kamus dengan memanggil konstruktor tanpa parameter.
// Create a NewExpression that represents constructing
// a new instance of Dictionary<int, string>.
System.Linq.Expressions.NewExpression newDictionaryExpression =
System.Linq.Expressions.Expression.New(typeof(Dictionary<int, string>));
Console.WriteLine(newDictionaryExpression.ToString());
// This code produces the following output:
//
// new Dictionary`2()
' Create a NewExpression that represents constructing
' a new instance of Dictionary(Of Integer, String).
Dim newDictionaryExpression As System.Linq.Expressions.NewExpression = _
System.Linq.Expressions.Expression.[New]( _
Type.GetType("System.Collections.Generic.Dictionary`2[System.Int32, System.String]"))
Console.WriteLine(newDictionaryExpression.ToString())
' This code produces the following output:
'
' new Dictionary`2()
Keterangan
Parameter type
harus mewakili jenis yang memiliki konstruktor tanpa parameter.
Properti Arguments dan Members dari yang dihasilkan NewExpression adalah koleksi kosong. Properti Type sama dengan type
.
Berlaku untuk
New(ConstructorInfo, IEnumerable<Expression>)
- Sumber:
- NewExpression.cs
- Sumber:
- NewExpression.cs
- Sumber:
- NewExpression.cs
NewExpression Membuat yang mewakili panggilan konstruktor yang ditentukan dengan argumen yang ditentukan.
public:
static System::Linq::Expressions::NewExpression ^ New(System::Reflection::ConstructorInfo ^ constructor, System::Collections::Generic::IEnumerable<System::Linq::Expressions::Expression ^> ^ arguments);
public static System.Linq.Expressions.NewExpression New (System.Reflection.ConstructorInfo constructor, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression> arguments);
public static System.Linq.Expressions.NewExpression New (System.Reflection.ConstructorInfo constructor, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression>? arguments);
static member New : System.Reflection.ConstructorInfo * seq<System.Linq.Expressions.Expression> -> System.Linq.Expressions.NewExpression
Public Shared Function New (constructor As ConstructorInfo, arguments As IEnumerable(Of Expression)) As NewExpression
Parameter
- constructor
- ConstructorInfo
ConstructorInfo untuk mengatur Constructor properti sama dengan.
- arguments
- IEnumerable<Expression>
Yang IEnumerable<T> berisi Expression objek yang akan digunakan untuk mengisi Arguments koleksi.
Mengembalikan
NewExpression yang memiliki NodeType properti yang sama dengan New dan Constructor properti dan Arguments diatur ke nilai yang ditentukan.
Pengecualian
Parameter arguments
tidak berisi jumlah elemen yang sama dengan jumlah parameter untuk konstruktor yang constructor
mewakili.
-atau-
Properti Type elemen arguments
tidak dapat ditetapkan ke jenis parameter yang sesuai dari konstruktor yang constructor
mewakili.
Keterangan
Parameter arguments
harus berisi jumlah elemen yang sama dengan jumlah parameter untuk konstruktor yang diwakili oleh constructor
. Jika arguments
adalah null
, itu dianggap kosong, dan Arguments properti dari yang dihasilkan NewExpression adalah koleksi kosong.
Properti Type dari yang dihasilkan NewExpression mewakili jenis deklarasikan konstruktor yang diwakili oleh constructor
. Properti Members adalah koleksi kosong.
Berlaku untuk
New(ConstructorInfo, Expression[])
- Sumber:
- NewExpression.cs
- Sumber:
- NewExpression.cs
- Sumber:
- NewExpression.cs
NewExpression Membuat yang mewakili panggilan konstruktor yang ditentukan dengan argumen yang ditentukan.
public:
static System::Linq::Expressions::NewExpression ^ New(System::Reflection::ConstructorInfo ^ constructor, ... cli::array <System::Linq::Expressions::Expression ^> ^ arguments);
public static System.Linq.Expressions.NewExpression New (System.Reflection.ConstructorInfo constructor, params System.Linq.Expressions.Expression[] arguments);
public static System.Linq.Expressions.NewExpression New (System.Reflection.ConstructorInfo constructor, params System.Linq.Expressions.Expression[]? arguments);
static member New : System.Reflection.ConstructorInfo * System.Linq.Expressions.Expression[] -> System.Linq.Expressions.NewExpression
Public Shared Function New (constructor As ConstructorInfo, ParamArray arguments As Expression()) As NewExpression
Parameter
- constructor
- ConstructorInfo
ConstructorInfo untuk mengatur Constructor properti sama dengan.
- arguments
- Expression[]
Array Expression objek yang digunakan untuk mengisi Arguments koleksi.
Mengembalikan
NewExpression yang memiliki NodeType properti yang sama dengan New dan Constructor properti dan Arguments diatur ke nilai yang ditentukan.
Pengecualian
arguments
Panjang memang cocok dengan jumlah parameter untuk konstruktor yang constructor
mewakili.
-atau-
Properti Type elemen arguments
tidak dapat ditetapkan ke jenis parameter yang sesuai dari konstruktor yang constructor
mewakili.
Keterangan
Parameter arguments
harus berisi jumlah elemen yang sama dengan jumlah parameter untuk konstruktor yang diwakili oleh constructor
. Jika arguments
adalah null
, itu dianggap kosong, dan Arguments properti dari yang dihasilkan NewExpression adalah koleksi kosong.
Properti Type dari yang dihasilkan NewExpression mewakili jenis deklarasikan konstruktor yang diwakili oleh constructor
. Properti Members adalah koleksi kosong.
Berlaku untuk
New(ConstructorInfo, IEnumerable<Expression>, IEnumerable<MemberInfo>)
- Sumber:
- NewExpression.cs
- Sumber:
- NewExpression.cs
- Sumber:
- NewExpression.cs
NewExpression Membuat yang mewakili panggilan konstruktor yang ditentukan dengan argumen yang ditentukan. Anggota yang mengakses bidang yang diinisialisasi konstruktor ditentukan.
public:
static System::Linq::Expressions::NewExpression ^ New(System::Reflection::ConstructorInfo ^ constructor, System::Collections::Generic::IEnumerable<System::Linq::Expressions::Expression ^> ^ arguments, System::Collections::Generic::IEnumerable<System::Reflection::MemberInfo ^> ^ members);
public static System.Linq.Expressions.NewExpression New (System.Reflection.ConstructorInfo constructor, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression> arguments, System.Collections.Generic.IEnumerable<System.Reflection.MemberInfo> members);
public static System.Linq.Expressions.NewExpression New (System.Reflection.ConstructorInfo constructor, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression>? arguments, System.Collections.Generic.IEnumerable<System.Reflection.MemberInfo>? members);
static member New : System.Reflection.ConstructorInfo * seq<System.Linq.Expressions.Expression> * seq<System.Reflection.MemberInfo> -> System.Linq.Expressions.NewExpression
Public Shared Function New (constructor As ConstructorInfo, arguments As IEnumerable(Of Expression), members As IEnumerable(Of MemberInfo)) As NewExpression
Parameter
- constructor
- ConstructorInfo
ConstructorInfo untuk mengatur Constructor properti sama dengan.
- arguments
- IEnumerable<Expression>
Yang IEnumerable<T> berisi Expression objek yang akan digunakan untuk mengisi Arguments koleksi.
- members
- IEnumerable<MemberInfo>
Yang IEnumerable<T> berisi MemberInfo objek yang akan digunakan untuk mengisi Members koleksi.
Mengembalikan
NewExpression yang memiliki NodeType properti yang sama dengan New dan Constructorproperti , Arguments dan Members diatur ke nilai yang ditentukan.
Pengecualian
constructor
adalah null
.
-atau-
Elemen dari arguments
adalah null
.
-atau-
Elemen dari members
adalah null
.
Parameter arguments
tidak berisi jumlah elemen yang sama dengan jumlah parameter untuk konstruktor yang constructor
mewakili.
-atau-
Properti Type elemen arguments
tidak dapat ditetapkan ke jenis parameter yang sesuai dari konstruktor yang constructor
mewakili.
-atau-
Parameter members
tidak memiliki jumlah elemen yang sama dengan arguments
.
-atau-
Elemen arguments
memiliki Type properti yang mewakili jenis yang tidak dapat ditetapkan ke jenis anggota yang diwakili oleh elemen yang sesuai dari members
.
Keterangan
Parameter arguments
harus berisi jumlah elemen yang sama dengan jumlah parameter untuk konstruktor yang diwakili oleh constructor
. Jika arguments
adalah null
, itu dianggap kosong, dan Arguments properti dari yang dihasilkan NewExpression adalah koleksi kosong.
Jika members
adalah null
, Members properti dari yang dihasilkan NewExpression adalah koleksi kosong. Jika members
tidak null
, itu harus memiliki jumlah elemen yang sama seperti arguments
dan setiap elemen tidak boleh null
. Setiap elemen members
harus berupa PropertyInfo, FieldInfo atau MethodInfo yang mewakili anggota instans pada jenis deklarasikan konstruktor yang diwakili oleh constructor
. Jika mewakili properti, properti harus memiliki aksesor get
. Elemen yang sesuai dari arguments
untuk setiap elemen members
harus memiliki Type properti yang mewakili jenis yang dapat ditetapkan ke jenis anggota yang diwakili members
elemen.
Properti Type dari yang dihasilkan NewExpression mewakili jenis deklarasikan konstruktor yang constructor
mewakili.
Berlaku untuk
New(ConstructorInfo, IEnumerable<Expression>, MemberInfo[])
- Sumber:
- NewExpression.cs
- Sumber:
- NewExpression.cs
- Sumber:
- NewExpression.cs
NewExpression Membuat yang mewakili panggilan konstruktor yang ditentukan dengan argumen yang ditentukan. Anggota yang mengakses bidang yang diinisialisasi konstruktor ditentukan sebagai array.
public:
static System::Linq::Expressions::NewExpression ^ New(System::Reflection::ConstructorInfo ^ constructor, System::Collections::Generic::IEnumerable<System::Linq::Expressions::Expression ^> ^ arguments, ... cli::array <System::Reflection::MemberInfo ^> ^ members);
public static System.Linq.Expressions.NewExpression New (System.Reflection.ConstructorInfo constructor, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression> arguments, params System.Reflection.MemberInfo[] members);
public static System.Linq.Expressions.NewExpression New (System.Reflection.ConstructorInfo constructor, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression>? arguments, params System.Reflection.MemberInfo[]? members);
static member New : System.Reflection.ConstructorInfo * seq<System.Linq.Expressions.Expression> * System.Reflection.MemberInfo[] -> System.Linq.Expressions.NewExpression
Public Shared Function New (constructor As ConstructorInfo, arguments As IEnumerable(Of Expression), ParamArray members As MemberInfo()) As NewExpression
Parameter
- constructor
- ConstructorInfo
ConstructorInfo untuk mengatur Constructor properti sama dengan.
- arguments
- IEnumerable<Expression>
Yang IEnumerable<T> berisi Expression objek yang akan digunakan untuk mengisi Arguments koleksi.
- members
- MemberInfo[]
Array MemberInfo objek yang digunakan untuk mengisi Members koleksi.
Mengembalikan
NewExpression yang memiliki NodeType properti yang sama dengan New dan Constructorproperti , Arguments dan Members diatur ke nilai yang ditentukan.
Pengecualian
constructor
adalah null
.
-atau-
Elemen dari arguments
adalah null
.
-atau-
Elemen dari members
adalah null
.
Parameter arguments
tidak berisi jumlah elemen yang sama dengan jumlah parameter untuk konstruktor yang constructor
mewakili.
-atau-
Properti Type elemen arguments
tidak dapat ditetapkan ke jenis parameter yang sesuai dari konstruktor yang constructor
mewakili.
-atau-
Parameter members
tidak memiliki jumlah elemen yang sama dengan arguments
.
-atau-
Elemen arguments
memiliki Type properti yang mewakili jenis yang tidak dapat ditetapkan ke jenis anggota yang diwakili oleh elemen yang sesuai dari members
.
Keterangan
Parameter arguments
harus berisi jumlah elemen yang sama dengan jumlah parameter untuk konstruktor yang diwakili oleh constructor
. Jika arguments
adalah null
, itu dianggap kosong, dan Arguments properti dari yang dihasilkan NewExpression adalah koleksi kosong.
Jika members
adalah null
, Members properti dari yang dihasilkan NewExpression adalah koleksi kosong. Jika members
tidak null
, itu harus memiliki jumlah elemen yang sama seperti arguments
dan setiap elemen tidak boleh null
. Setiap elemen members
harus berupa PropertyInfo, FieldInfo atau MethodInfo yang mewakili anggota instans pada jenis deklarasikan konstruktor yang diwakili oleh constructor
. Jika mewakili properti, properti harus dapat mengambil nilai bidang terkait. Elemen yang sesuai dari arguments
untuk setiap elemen members
harus memiliki Type properti yang mewakili jenis yang dapat ditetapkan ke jenis anggota yang diwakili members
elemen.
Properti Type dari yang dihasilkan NewExpression mewakili jenis deklarasikan konstruktor yang constructor
mewakili.