Bagikan melalui


Expression.New Metode

Definisi

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

constructoradalah 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

type
Type

Type Yang memiliki konstruktor yang tidak mengambil argumen.

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

typeadalah 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

constructoradalah null.

-atau-

Elemen dari arguments 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.

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

constructoradalah null.

-atau-

Elemen dari arguments adalah null.

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

constructoradalah 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

constructoradalah 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.

Berlaku untuk