Bagikan melalui


Expression.ListInit Metode

Definisi

Overload

Nama Deskripsi
ListInit(NewExpression, IEnumerable<ElementInit>)

ListInitExpression Membuat yang menggunakan objek tertentu ElementInit untuk menginisialisasi koleksi.

ListInit(NewExpression, IEnumerable<Expression>)

ListInitExpression Membuat yang menggunakan metode bernama "Tambahkan" untuk menambahkan elemen ke koleksi.

ListInit(NewExpression, ElementInit[])

ListInitExpression Membuat yang menggunakan objek tertentu ElementInit untuk menginisialisasi koleksi.

ListInit(NewExpression, Expression[])

ListInitExpression Membuat yang menggunakan metode bernama "Tambahkan" untuk menambahkan elemen ke koleksi.

ListInit(NewExpression, MethodInfo, IEnumerable<Expression>)

ListInitExpression Membuat yang menggunakan metode tertentu untuk menambahkan elemen ke koleksi.

ListInit(NewExpression, MethodInfo, Expression[])

ListInitExpression Membuat yang menggunakan metode tertentu untuk menambahkan elemen ke koleksi.

ListInit(NewExpression, IEnumerable<ElementInit>)

Sumber:
ListInitExpression.cs
Sumber:
ListInitExpression.cs
Sumber:
ListInitExpression.cs
Sumber:
ListInitExpression.cs
Sumber:
ListInitExpression.cs

ListInitExpression Membuat yang menggunakan objek tertentu ElementInit untuk menginisialisasi koleksi.

public:
 static System::Linq::Expressions::ListInitExpression ^ ListInit(System::Linq::Expressions::NewExpression ^ newExpression, System::Collections::Generic::IEnumerable<System::Linq::Expressions::ElementInit ^> ^ initializers);
public static System.Linq.Expressions.ListInitExpression ListInit(System.Linq.Expressions.NewExpression newExpression, System.Collections.Generic.IEnumerable<System.Linq.Expressions.ElementInit> initializers);
static member ListInit : System.Linq.Expressions.NewExpression * seq<System.Linq.Expressions.ElementInit> -> System.Linq.Expressions.ListInitExpression
Public Shared Function ListInit (newExpression As NewExpression, initializers As IEnumerable(Of ElementInit)) As ListInitExpression

Parameter

newExpression
NewExpression

A NewExpression untuk mengatur NewExpression properti sama dengan.

initializers
IEnumerable<ElementInit>

Yang IEnumerable<T> berisi ElementInit objek yang akan digunakan untuk mengisi Initializers koleksi.

Mengembalikan

ListInitExpression Yang memiliki NodeType properti sama dengan ListInit dan NewExpression properti dan Initializers diatur ke nilai yang ditentukan.

Pengecualian

newExpression atau initializers adalah null.

-atau-

Satu atau beberapa elemen initializers adalah null.

newExpression. Jenis tidak mengimplementasikan IEnumerable.

Contoh

Contoh berikut menunjukkan cara menggunakan ListInit(NewExpression, ElementInit[]) metode untuk membuat ListInitExpression yang mewakili inisialisasi instans kamus baru dengan dua pasangan kunci-nilai.

string tree1 = "maple";
string tree2 = "oak";

System.Reflection.MethodInfo addMethod = typeof(Dictionary<int, string>).GetMethod("Add");

// Create two ElementInit objects that represent the
// two key-value pairs to add to the Dictionary.
System.Linq.Expressions.ElementInit elementInit1 =
    System.Linq.Expressions.Expression.ElementInit(
        addMethod,
        System.Linq.Expressions.Expression.Constant(tree1.Length),
        System.Linq.Expressions.Expression.Constant(tree1));
System.Linq.Expressions.ElementInit elementInit2 =
    System.Linq.Expressions.Expression.ElementInit(
        addMethod,
        System.Linq.Expressions.Expression.Constant(tree2.Length),
        System.Linq.Expressions.Expression.Constant(tree2));

// 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>));

// Create a ListInitExpression that represents initializing
// a new Dictionary<> instance with two key-value pairs.
System.Linq.Expressions.ListInitExpression listInitExpression =
    System.Linq.Expressions.Expression.ListInit(
        newDictionaryExpression,
        elementInit1,
        elementInit2);

Console.WriteLine(listInitExpression.ToString());

// This code produces the following output:
//
// new Dictionary`2() {Void Add(Int32, System.String)(5,"maple"),
// Void Add(Int32, System.String)(3,"oak")}
Dim tree1 As String = "maple"
Dim tree2 As String = "oak"

Dim addMethod As System.Reflection.MethodInfo = _
    Type.GetType("System.Collections.Generic.Dictionary`2[System.Int32, System.String]").GetMethod("Add")

' Create two ElementInit objects that represent the
' two key-value pairs to add to the Dictionary.
Dim elementInit1 As System.Linq.Expressions.ElementInit = _
    System.Linq.Expressions.Expression.ElementInit( _
        addMethod, _
        System.Linq.Expressions.Expression.Constant(tree1.Length), _
        System.Linq.Expressions.Expression.Constant(tree1))
Dim elementInit2 As System.Linq.Expressions.ElementInit = _
    System.Linq.Expressions.Expression.ElementInit( _
        addMethod, _
        System.Linq.Expressions.Expression.Constant(tree2.Length), _
        System.Linq.Expressions.Expression.Constant(tree2))

' 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]"))

' Create a ListInitExpression that represents initializing
' a new Dictionary(Of T) instance with two key-value pairs.
Dim listInitExpression As System.Linq.Expressions.ListInitExpression = _
    System.Linq.Expressions.Expression.ListInit( _
        newDictionaryExpression, _
        elementInit1, _
        elementInit2)

Console.WriteLine(listInitExpression.ToString())

' This code produces the following output:
'
' new Dictionary`2() {Void Add(Int32, System.String)(5,"maple"),
' Void Add(Int32, System.String)(3,"oak")

Keterangan

Properti Type harus newExpression mewakili jenis yang mengimplementasikan IEnumerable.

Properti Type dari yang dihasilkan ListInitExpression sama dengan newExpression. Jenis.

Berlaku untuk

ListInit(NewExpression, IEnumerable<Expression>)

Sumber:
ListInitExpression.cs
Sumber:
ListInitExpression.cs
Sumber:
ListInitExpression.cs
Sumber:
ListInitExpression.cs
Sumber:
ListInitExpression.cs

ListInitExpression Membuat yang menggunakan metode bernama "Tambahkan" untuk menambahkan elemen ke koleksi.

public:
 static System::Linq::Expressions::ListInitExpression ^ ListInit(System::Linq::Expressions::NewExpression ^ newExpression, System::Collections::Generic::IEnumerable<System::Linq::Expressions::Expression ^> ^ initializers);
public static System.Linq.Expressions.ListInitExpression ListInit(System.Linq.Expressions.NewExpression newExpression, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression> initializers);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Calling a generic method requires dynamic code generation. This can be suppressed if the method is not generic.")]
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Creating Expressions requires unreferenced code because the members being referenced by the Expression may be trimmed.")]
public static System.Linq.Expressions.ListInitExpression ListInit(System.Linq.Expressions.NewExpression newExpression, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression> initializers);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Creating Expressions requires unreferenced code because the members being referenced by the Expression may be trimmed.")]
public static System.Linq.Expressions.ListInitExpression ListInit(System.Linq.Expressions.NewExpression newExpression, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression> initializers);
static member ListInit : System.Linq.Expressions.NewExpression * seq<System.Linq.Expressions.Expression> -> System.Linq.Expressions.ListInitExpression
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Calling a generic method requires dynamic code generation. This can be suppressed if the method is not generic.")>]
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Creating Expressions requires unreferenced code because the members being referenced by the Expression may be trimmed.")>]
static member ListInit : System.Linq.Expressions.NewExpression * seq<System.Linq.Expressions.Expression> -> System.Linq.Expressions.ListInitExpression
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Creating Expressions requires unreferenced code because the members being referenced by the Expression may be trimmed.")>]
static member ListInit : System.Linq.Expressions.NewExpression * seq<System.Linq.Expressions.Expression> -> System.Linq.Expressions.ListInitExpression
Public Shared Function ListInit (newExpression As NewExpression, initializers As IEnumerable(Of Expression)) As ListInitExpression

Parameter

newExpression
NewExpression

A NewExpression untuk mengatur NewExpression properti sama dengan.

initializers
IEnumerable<Expression>

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

Mengembalikan

ListInitExpression Properti yang memiliki NodeType properti sama dengan ListInit dan properti diatur NewExpression ke nilai yang ditentukan.

Atribut

Pengecualian

newExpression atau initializers adalah null.

-atau-

Satu atau beberapa elemen initializers adalah null.

newExpression. Jenis tidak mengimplementasikan IEnumerable.

Tidak ada metode instans bernama "Tambahkan" (tidak peka huruf besar/kecil) yang dinyatakan dalam newExpression. Ketik atau jenis dasarnya.

-atau-

Metode tambahkan pada newExpression. Tipe atau tipe dasarnya tidak mengambil satu argumen.

-atau-

Jenis yang diwakili oleh Type properti elemen initializers pertama tidak dapat ditetapkan ke jenis argumen dari metode tambahkan pada newExpression. Ketik atau jenis dasarnya.

-atau-

Ada lebih dari satu metode yang kompatibel dengan argumen bernama "Tambahkan" (tidak peka huruf besar/kecil) pada newExpression. Ketik dan/atau jenis dasarnya.

Keterangan

Properti Type harus newExpression mewakili jenis yang mengimplementasikan IEnumerable.

Untuk menggunakan kelebihan beban ini dari ListInit(NewExpression, IEnumerable<Expression>), newExpression. Jenis atau jenis dasarnya harus mendeklarasikan metode tunggal bernama "Tambahkan" (tidak peka huruf besar/kecil) yang mengambil tepat satu argumen. Jenis argumen harus dapat ditetapkan dari jenis yang diwakili oleh Type properti elemen pertama dari initializers.

Properti Initializers yang dikembalikan ListInitExpression berisi satu elemen jenis ElementInit untuk setiap elemen initializers. Properti Arguments dari setiap elemen Initializers adalah koleksi singleton yang berisi elemen yang sesuai dari initializers. Properti AddMethod dari setiap elemen Initializers mewakili metode tambahkan yang ditemukan pada newExpression. Ketik atau jenis dasarnya.

Properti Type dari yang dihasilkan ListInitExpression sama dengan newExpression. Jenis.

Berlaku untuk

ListInit(NewExpression, ElementInit[])

Sumber:
ListInitExpression.cs
Sumber:
ListInitExpression.cs
Sumber:
ListInitExpression.cs
Sumber:
ListInitExpression.cs
Sumber:
ListInitExpression.cs

ListInitExpression Membuat yang menggunakan objek tertentu ElementInit untuk menginisialisasi koleksi.

public:
 static System::Linq::Expressions::ListInitExpression ^ ListInit(System::Linq::Expressions::NewExpression ^ newExpression, ... cli::array <System::Linq::Expressions::ElementInit ^> ^ initializers);
public static System.Linq.Expressions.ListInitExpression ListInit(System.Linq.Expressions.NewExpression newExpression, params System.Linq.Expressions.ElementInit[] initializers);
static member ListInit : System.Linq.Expressions.NewExpression * System.Linq.Expressions.ElementInit[] -> System.Linq.Expressions.ListInitExpression
Public Shared Function ListInit (newExpression As NewExpression, ParamArray initializers As ElementInit()) As ListInitExpression

Parameter

newExpression
NewExpression

A NewExpression untuk mengatur NewExpression properti sama dengan.

initializers
ElementInit[]

Array ElementInit objek yang digunakan untuk mengisi Initializers koleksi.

Mengembalikan

ListInitExpression Yang memiliki NodeType properti sama dengan ListInit dan NewExpression properti dan Initializers diatur ke nilai yang ditentukan.

Pengecualian

newExpression atau initializers adalah null.

-atau-

Satu atau beberapa elemen initializers adalah null.

newExpression. Jenis tidak mengimplementasikan IEnumerable.

Contoh

Contoh berikut menunjukkan cara menggunakan ListInit(NewExpression, ElementInit[]) metode untuk membuat ListInitExpression yang mewakili inisialisasi instans kamus baru dengan dua pasangan kunci-nilai.

string tree1 = "maple";
string tree2 = "oak";

System.Reflection.MethodInfo addMethod = typeof(Dictionary<int, string>).GetMethod("Add");

// Create two ElementInit objects that represent the
// two key-value pairs to add to the Dictionary.
System.Linq.Expressions.ElementInit elementInit1 =
    System.Linq.Expressions.Expression.ElementInit(
        addMethod,
        System.Linq.Expressions.Expression.Constant(tree1.Length),
        System.Linq.Expressions.Expression.Constant(tree1));
System.Linq.Expressions.ElementInit elementInit2 =
    System.Linq.Expressions.Expression.ElementInit(
        addMethod,
        System.Linq.Expressions.Expression.Constant(tree2.Length),
        System.Linq.Expressions.Expression.Constant(tree2));

// 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>));

// Create a ListInitExpression that represents initializing
// a new Dictionary<> instance with two key-value pairs.
System.Linq.Expressions.ListInitExpression listInitExpression =
    System.Linq.Expressions.Expression.ListInit(
        newDictionaryExpression,
        elementInit1,
        elementInit2);

Console.WriteLine(listInitExpression.ToString());

// This code produces the following output:
//
// new Dictionary`2() {Void Add(Int32, System.String)(5,"maple"),
// Void Add(Int32, System.String)(3,"oak")}
Dim tree1 As String = "maple"
Dim tree2 As String = "oak"

Dim addMethod As System.Reflection.MethodInfo = _
    Type.GetType("System.Collections.Generic.Dictionary`2[System.Int32, System.String]").GetMethod("Add")

' Create two ElementInit objects that represent the
' two key-value pairs to add to the Dictionary.
Dim elementInit1 As System.Linq.Expressions.ElementInit = _
    System.Linq.Expressions.Expression.ElementInit( _
        addMethod, _
        System.Linq.Expressions.Expression.Constant(tree1.Length), _
        System.Linq.Expressions.Expression.Constant(tree1))
Dim elementInit2 As System.Linq.Expressions.ElementInit = _
    System.Linq.Expressions.Expression.ElementInit( _
        addMethod, _
        System.Linq.Expressions.Expression.Constant(tree2.Length), _
        System.Linq.Expressions.Expression.Constant(tree2))

' 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]"))

' Create a ListInitExpression that represents initializing
' a new Dictionary(Of T) instance with two key-value pairs.
Dim listInitExpression As System.Linq.Expressions.ListInitExpression = _
    System.Linq.Expressions.Expression.ListInit( _
        newDictionaryExpression, _
        elementInit1, _
        elementInit2)

Console.WriteLine(listInitExpression.ToString())

' This code produces the following output:
'
' new Dictionary`2() {Void Add(Int32, System.String)(5,"maple"),
' Void Add(Int32, System.String)(3,"oak")

Keterangan

Properti Type harus newExpression mewakili jenis yang mengimplementasikan IEnumerable.

Properti Type dari yang dihasilkan ListInitExpression sama dengan newExpression. Jenis.

Berlaku untuk

ListInit(NewExpression, Expression[])

Sumber:
ListInitExpression.cs
Sumber:
ListInitExpression.cs
Sumber:
ListInitExpression.cs
Sumber:
ListInitExpression.cs
Sumber:
ListInitExpression.cs

ListInitExpression Membuat yang menggunakan metode bernama "Tambahkan" untuk menambahkan elemen ke koleksi.

public:
 static System::Linq::Expressions::ListInitExpression ^ ListInit(System::Linq::Expressions::NewExpression ^ newExpression, ... cli::array <System::Linq::Expressions::Expression ^> ^ initializers);
public static System.Linq.Expressions.ListInitExpression ListInit(System.Linq.Expressions.NewExpression newExpression, params System.Linq.Expressions.Expression[] initializers);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Calling a generic method requires dynamic code generation. This can be suppressed if the method is not generic.")]
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Creating Expressions requires unreferenced code because the members being referenced by the Expression may be trimmed.")]
public static System.Linq.Expressions.ListInitExpression ListInit(System.Linq.Expressions.NewExpression newExpression, params System.Linq.Expressions.Expression[] initializers);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Creating Expressions requires unreferenced code because the members being referenced by the Expression may be trimmed.")]
public static System.Linq.Expressions.ListInitExpression ListInit(System.Linq.Expressions.NewExpression newExpression, params System.Linq.Expressions.Expression[] initializers);
static member ListInit : System.Linq.Expressions.NewExpression * System.Linq.Expressions.Expression[] -> System.Linq.Expressions.ListInitExpression
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Calling a generic method requires dynamic code generation. This can be suppressed if the method is not generic.")>]
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Creating Expressions requires unreferenced code because the members being referenced by the Expression may be trimmed.")>]
static member ListInit : System.Linq.Expressions.NewExpression * System.Linq.Expressions.Expression[] -> System.Linq.Expressions.ListInitExpression
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Creating Expressions requires unreferenced code because the members being referenced by the Expression may be trimmed.")>]
static member ListInit : System.Linq.Expressions.NewExpression * System.Linq.Expressions.Expression[] -> System.Linq.Expressions.ListInitExpression
Public Shared Function ListInit (newExpression As NewExpression, ParamArray initializers As Expression()) As ListInitExpression

Parameter

newExpression
NewExpression

A NewExpression untuk mengatur NewExpression properti sama dengan.

initializers
Expression[]

Array Expression objek yang digunakan untuk mengisi Initializers koleksi.

Mengembalikan

ListInitExpression Properti yang memiliki NodeType properti sama dengan ListInit dan properti diatur NewExpression ke nilai yang ditentukan.

Atribut

Pengecualian

newExpression atau initializers adalah null.

-atau-

Satu atau beberapa elemen initializers adalah null.

newExpression. Jenis tidak mengimplementasikan IEnumerable.

Tidak ada metode instans bernama "Tambahkan" (tidak peka huruf besar/kecil) yang dinyatakan dalam newExpression. Ketik atau jenis dasarnya.

-atau-

Metode tambahkan pada newExpression. Tipe atau tipe dasarnya tidak mengambil satu argumen.

-atau-

Jenis yang diwakili oleh Type properti elemen initializers pertama tidak dapat ditetapkan ke jenis argumen dari metode tambahkan pada newExpression. Ketik atau jenis dasarnya.

-atau-

Ada lebih dari satu metode yang kompatibel dengan argumen bernama "Tambahkan" (tidak peka huruf besar/kecil) pada newExpression. Ketik dan/atau jenis dasarnya.

Keterangan

Properti Type harus newExpression mewakili jenis yang mengimplementasikan IEnumerable.

Untuk menggunakan kelebihan beban ini dari ListInit(NewExpression, Expression[]), newExpression. Jenis atau jenis dasarnya harus mendeklarasikan metode tunggal bernama "Tambahkan" (tidak peka huruf besar/kecil) yang mengambil tepat satu argumen. Jenis argumen harus dapat ditetapkan dari jenis yang diwakili oleh Type properti elemen pertama dari initializers.

Properti Initializers yang dikembalikan ListInitExpression berisi satu elemen jenis ElementInit untuk setiap elemen initializers. Properti Arguments dari setiap elemen Initializers adalah koleksi singleton yang berisi elemen yang sesuai dari initializers. Properti AddMethod dari setiap elemen Initializers mewakili metode tambahkan yang ditemukan pada newExpression. Ketik atau jenis dasarnya.

Properti Type dari yang dihasilkan ListInitExpression sama dengan newExpression. Jenis.

Berlaku untuk

ListInit(NewExpression, MethodInfo, IEnumerable<Expression>)

Sumber:
ListInitExpression.cs
Sumber:
ListInitExpression.cs
Sumber:
ListInitExpression.cs
Sumber:
ListInitExpression.cs
Sumber:
ListInitExpression.cs

ListInitExpression Membuat yang menggunakan metode tertentu untuk menambahkan elemen ke koleksi.

public:
 static System::Linq::Expressions::ListInitExpression ^ ListInit(System::Linq::Expressions::NewExpression ^ newExpression, System::Reflection::MethodInfo ^ addMethod, System::Collections::Generic::IEnumerable<System::Linq::Expressions::Expression ^> ^ initializers);
public static System.Linq.Expressions.ListInitExpression ListInit(System.Linq.Expressions.NewExpression newExpression, System.Reflection.MethodInfo addMethod, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression> initializers);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Calling a generic method requires dynamic code generation. This can be suppressed if the method is not generic.")]
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Creating Expressions requires unreferenced code because the members being referenced by the Expression may be trimmed.")]
public static System.Linq.Expressions.ListInitExpression ListInit(System.Linq.Expressions.NewExpression newExpression, System.Reflection.MethodInfo? addMethod, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression> initializers);
public static System.Linq.Expressions.ListInitExpression ListInit(System.Linq.Expressions.NewExpression newExpression, System.Reflection.MethodInfo? addMethod, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression> initializers);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Creating Expressions requires unreferenced code because the members being referenced by the Expression may be trimmed.")]
public static System.Linq.Expressions.ListInitExpression ListInit(System.Linq.Expressions.NewExpression newExpression, System.Reflection.MethodInfo? addMethod, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression> initializers);
static member ListInit : System.Linq.Expressions.NewExpression * System.Reflection.MethodInfo * seq<System.Linq.Expressions.Expression> -> System.Linq.Expressions.ListInitExpression
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Calling a generic method requires dynamic code generation. This can be suppressed if the method is not generic.")>]
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Creating Expressions requires unreferenced code because the members being referenced by the Expression may be trimmed.")>]
static member ListInit : System.Linq.Expressions.NewExpression * System.Reflection.MethodInfo * seq<System.Linq.Expressions.Expression> -> System.Linq.Expressions.ListInitExpression
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Creating Expressions requires unreferenced code because the members being referenced by the Expression may be trimmed.")>]
static member ListInit : System.Linq.Expressions.NewExpression * System.Reflection.MethodInfo * seq<System.Linq.Expressions.Expression> -> System.Linq.Expressions.ListInitExpression
Public Shared Function ListInit (newExpression As NewExpression, addMethod As MethodInfo, initializers As IEnumerable(Of Expression)) As ListInitExpression

Parameter

newExpression
NewExpression

A NewExpression untuk mengatur NewExpression properti sama dengan.

addMethod
MethodInfo

MethodInfo yang mewakili metode instans bernama "Tambahkan" (tidak peka huruf besar/kecil), yang menambahkan elemen ke koleksi.

initializers
IEnumerable<Expression>

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

Mengembalikan

ListInitExpression Properti yang memiliki NodeType properti sama dengan ListInit dan properti diatur NewExpression ke nilai yang ditentukan.

Atribut

Pengecualian

newExpression atau initializers adalah null.

-atau-

Satu atau beberapa elemen initializers adalah null.

newExpression. Jenis tidak mengimplementasikan IEnumerable.

-atau-

addMethod bukan null dan tidak mewakili metode instans bernama "Tambahkan" (tidak peka huruf besar/kecil) yang mengambil tepat satu argumen.

-atau-

addMethod bukan null dan jenis yang diwakili oleh Type properti dari satu atau beberapa initializers elemen tidak dapat ditetapkan ke jenis argumen metode yang addMethod mewakili.

addMethod adalah null dan tidak ada metode instans bernama "Tambahkan" yang mengambil satu argumen yang kompatibel dengan jenis ada di newExpression. Ketik atau jenis dasarnya.

Keterangan

Properti Type harus newExpression mewakili jenis yang mengimplementasikan IEnumerable.

Jika addMethod adalah null, newExpression. Jenis atau jenis dasarnya harus mendeklarasikan metode tunggal bernama "Tambahkan" (tidak peka huruf besar/kecil) yang mengambil tepat satu argumen. Jika addMethod tidak null, itu harus mewakili metode instans bernama "Tambahkan" (tidak peka huruf besar/kecil) yang memiliki tepat satu parameter. Jenis yang diwakili oleh Type properti dari setiap elemen initializers harus dapat ditetapkan ke jenis argumen dari metode tambahkan.

Properti Initializers yang dikembalikan ListInitExpression berisi satu elemen jenis ElementInit untuk setiap elemen initializers. Properti Arguments dari setiap elemen Initializers adalah koleksi singleton yang berisi elemen yang sesuai dari initializers. Properti AddMethod dari setiap elemen Initializers sama dengan addMethod.

Properti Type dari yang dihasilkan ListInitExpression sama dengan newExpression. Jenis.

Berlaku untuk

ListInit(NewExpression, MethodInfo, Expression[])

Sumber:
ListInitExpression.cs
Sumber:
ListInitExpression.cs
Sumber:
ListInitExpression.cs
Sumber:
ListInitExpression.cs
Sumber:
ListInitExpression.cs

ListInitExpression Membuat yang menggunakan metode tertentu untuk menambahkan elemen ke koleksi.

public:
 static System::Linq::Expressions::ListInitExpression ^ ListInit(System::Linq::Expressions::NewExpression ^ newExpression, System::Reflection::MethodInfo ^ addMethod, ... cli::array <System::Linq::Expressions::Expression ^> ^ initializers);
public static System.Linq.Expressions.ListInitExpression ListInit(System.Linq.Expressions.NewExpression newExpression, System.Reflection.MethodInfo addMethod, params System.Linq.Expressions.Expression[] initializers);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Calling a generic method requires dynamic code generation. This can be suppressed if the method is not generic.")]
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Creating Expressions requires unreferenced code because the members being referenced by the Expression may be trimmed.")]
public static System.Linq.Expressions.ListInitExpression ListInit(System.Linq.Expressions.NewExpression newExpression, System.Reflection.MethodInfo? addMethod, params System.Linq.Expressions.Expression[] initializers);
public static System.Linq.Expressions.ListInitExpression ListInit(System.Linq.Expressions.NewExpression newExpression, System.Reflection.MethodInfo? addMethod, params System.Linq.Expressions.Expression[] initializers);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Creating Expressions requires unreferenced code because the members being referenced by the Expression may be trimmed.")]
public static System.Linq.Expressions.ListInitExpression ListInit(System.Linq.Expressions.NewExpression newExpression, System.Reflection.MethodInfo? addMethod, params System.Linq.Expressions.Expression[] initializers);
static member ListInit : System.Linq.Expressions.NewExpression * System.Reflection.MethodInfo * System.Linq.Expressions.Expression[] -> System.Linq.Expressions.ListInitExpression
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Calling a generic method requires dynamic code generation. This can be suppressed if the method is not generic.")>]
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Creating Expressions requires unreferenced code because the members being referenced by the Expression may be trimmed.")>]
static member ListInit : System.Linq.Expressions.NewExpression * System.Reflection.MethodInfo * System.Linq.Expressions.Expression[] -> System.Linq.Expressions.ListInitExpression
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Creating Expressions requires unreferenced code because the members being referenced by the Expression may be trimmed.")>]
static member ListInit : System.Linq.Expressions.NewExpression * System.Reflection.MethodInfo * System.Linq.Expressions.Expression[] -> System.Linq.Expressions.ListInitExpression
Public Shared Function ListInit (newExpression As NewExpression, addMethod As MethodInfo, ParamArray initializers As Expression()) As ListInitExpression

Parameter

newExpression
NewExpression

A NewExpression untuk mengatur NewExpression properti sama dengan.

addMethod
MethodInfo

MethodInfo yang mewakili metode instans yang mengambil satu argumen, yang menambahkan elemen ke koleksi.

initializers
Expression[]

Array Expression objek yang digunakan untuk mengisi Initializers koleksi.

Mengembalikan

ListInitExpression Properti yang memiliki NodeType properti sama dengan ListInit dan properti diatur NewExpression ke nilai yang ditentukan.

Atribut

Pengecualian

newExpression atau initializers adalah null.

-atau-

Satu atau beberapa elemen initializers adalah null.

newExpression. Jenis tidak mengimplementasikan IEnumerable.

-atau-

addMethod bukan null dan tidak mewakili metode instans bernama "Tambahkan" (tidak peka huruf besar/kecil) yang mengambil tepat satu argumen.

-atau-

addMethod bukan null dan jenis yang diwakili oleh Type properti dari satu atau beberapa initializers elemen tidak dapat ditetapkan ke jenis argumen metode yang addMethod mewakili.

addMethod adalah null dan tidak ada metode instans bernama "Tambahkan" yang mengambil satu argumen yang kompatibel dengan jenis ada di newExpression. Ketik atau jenis dasarnya.

Keterangan

Properti Type harus newExpression mewakili jenis yang mengimplementasikan IEnumerable.

Jika addMethod adalah null, newExpression. Jenis atau jenis dasarnya harus mendeklarasikan metode tunggal bernama "Tambahkan" (tidak peka huruf besar/kecil) yang mengambil tepat satu argumen. Jika addMethod tidak null, itu harus mewakili metode instans bernama "Tambahkan" (tidak peka huruf besar/kecil) yang memiliki tepat satu parameter. Jenis yang diwakili oleh Type properti dari setiap elemen initializers harus dapat ditetapkan ke jenis argumen dari metode tambahkan.

Properti Initializers yang dikembalikan ListInitExpression berisi satu elemen jenis ElementInit untuk setiap elemen initializers. Properti Arguments dari setiap elemen Initializers adalah koleksi singleton yang berisi elemen yang sesuai dari initializers. Properti AddMethod dari setiap elemen Initializers sama dengan addMethod.

Properti Type dari yang dihasilkan ListInitExpression sama dengan newExpression. Jenis.

Berlaku untuk