Sdílet prostřednictvím


Expression.ListInit Metoda

Definice

Vytvoří ListInitExpression.

Přetížení

Name Description
ListInit(NewExpression, IEnumerable<ElementInit>)

Vytvoří objekt ListInitExpression , který použije zadané ElementInit objekty k inicializaci kolekce.

ListInit(NewExpression, IEnumerable<Expression>)

Vytvoří metodu ListInitExpression s názvem Add k přidání prvků do kolekce.

ListInit(NewExpression, ElementInit[])

Vytvoří objekt ListInitExpression , který použije zadané ElementInit objekty k inicializaci kolekce.

ListInit(NewExpression, Expression[])

Vytvoří metodu ListInitExpression s názvem Add k přidání prvků do kolekce.

ListInit(NewExpression, MethodInfo, IEnumerable<Expression>)

Vytvoří, ListInitExpression která používá zadanou metodu pro přidání prvků do kolekce.

ListInit(NewExpression, MethodInfo, Expression[])

Vytvoří, ListInitExpression která používá zadanou metodu pro přidání prvků do kolekce.

ListInit(NewExpression, IEnumerable<ElementInit>)

Zdroj:
ListInitExpression.cs
Zdroj:
ListInitExpression.cs
Zdroj:
ListInitExpression.cs
Zdroj:
ListInitExpression.cs
Zdroj:
ListInitExpression.cs

Vytvoří objekt ListInitExpression , který použije zadané ElementInit objekty k inicializaci kolekce.

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

Parametry

newExpression
NewExpression

A NewExpression nastavit NewExpression vlastnost rovná se.

initializers
IEnumerable<ElementInit>

Objekt IEnumerable<T> obsahující ElementInit objekty, které se mají použít k naplnění Initializers kolekce.

Návraty

AListInitExpression, který má vlastnost rovna ListInitNodeType a NewExpression a Initializers vlastnosti nastaveny na zadané hodnoty.

Výjimky

newExpression nebo initializers je null.

nebo

Jeden nebo více prvků initializers jsou null.

newExpression. Typ neimplementuje IEnumerable.

Příklady

Následující příklad ukazuje, jak použít metodu ListInit(NewExpression, ElementInit[]) k vytvoření ListInitExpression , která představuje inicializaci nové instance slovníku se dvěma páry klíč-hodnota.

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

Poznámky

Vlastnost TypenewExpression musí představovat typ, který implementuje IEnumerable.

Vlastnost Type výsledné ListInitExpression hodnoty je rovna newExpression. Typ.

Platí pro

ListInit(NewExpression, IEnumerable<Expression>)

Zdroj:
ListInitExpression.cs
Zdroj:
ListInitExpression.cs
Zdroj:
ListInitExpression.cs
Zdroj:
ListInitExpression.cs
Zdroj:
ListInitExpression.cs

Vytvoří metodu ListInitExpression s názvem Add k přidání prvků do kolekce.

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

Parametry

newExpression
NewExpression

A NewExpression nastavit NewExpression vlastnost rovná se.

initializers
IEnumerable<Expression>

Objekt IEnumerable<T> obsahující Expression objekty, které se mají použít k naplnění Initializers kolekce.

Návraty

AListInitExpression, který má vlastnost rovna ListInitNodeType a NewExpression vlastnost nastavena na zadanou hodnotu.

Atributy

Výjimky

newExpression nebo initializers je null.

nebo

Jeden nebo více prvků initializers jsou null.

newExpression. Typ neimplementuje IEnumerable.

Neexistuje žádná metoda instance s názvem Add (nerozlišující malá a velká písmena) deklarována v newExpression. Typ nebo jeho základní typ.

nebo

Metoda add on newExpression. Typ nebo základní typ nepřebírají přesně jeden argument.

nebo

Typ reprezentovaný Type vlastností prvního prvku initializers není přiřaditelný k typu argumentu add metoda on newExpression. Typ nebo jeho základní typ.

nebo

Existuje newExpressionvíce než jedna metoda kompatibilní s argumenty s názvem Add (nerozlišující malá a velká písmena). Typ a/nebo jeho základní typ

Poznámky

Vlastnost TypenewExpression musí představovat typ, který implementuje IEnumerable.

Chcete-li použít toto přetížení ListInit(NewExpression, IEnumerable<Expression>), newExpression. Typ nebo jeho základní typ musí deklarovat jednu metodu s názvem "Add" (nerozlišuje velká a malá písmena), která přebírá přesně jeden argument. Typ argumentu musí být přiřaditelný z typu reprezentované Type vlastností prvního prvku prvku initializers.

Vlastnost Initializers vrácené ListInitExpression obsahuje jeden prvek typu ElementInit pro každý prvek .initializers Vlastnost Arguments každého prvku Initializers je singleton kolekce, která obsahuje odpovídající prvek .initializers Vlastnost AddMethod každého prvku Initializers představuje add metoda, která byla zjištěna na newExpression. Typ nebo jeho základní typ.

Vlastnost Type výsledné ListInitExpression hodnoty je rovna newExpression. Typ.

Platí pro

ListInit(NewExpression, ElementInit[])

Zdroj:
ListInitExpression.cs
Zdroj:
ListInitExpression.cs
Zdroj:
ListInitExpression.cs
Zdroj:
ListInitExpression.cs
Zdroj:
ListInitExpression.cs

Vytvoří objekt ListInitExpression , který použije zadané ElementInit objekty k inicializaci kolekce.

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

Parametry

newExpression
NewExpression

A NewExpression nastavit NewExpression vlastnost rovná se.

initializers
ElementInit[]

Pole ElementInit objektů, které se mají použít k naplnění Initializers kolekce.

Návraty

AListInitExpression, který má vlastnost rovna ListInitNodeType a NewExpression a Initializers vlastnosti nastaveny na zadané hodnoty.

Výjimky

newExpression nebo initializers je null.

nebo

Jeden nebo více prvků initializers jsou null.

newExpression. Typ neimplementuje IEnumerable.

Příklady

Následující příklad ukazuje, jak použít metodu ListInit(NewExpression, ElementInit[]) k vytvoření ListInitExpression , která představuje inicializaci nové instance slovníku se dvěma páry klíč-hodnota.

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

Poznámky

Vlastnost TypenewExpression musí představovat typ, který implementuje IEnumerable.

Vlastnost Type výsledné ListInitExpression hodnoty je rovna newExpression. Typ.

Platí pro

ListInit(NewExpression, Expression[])

Zdroj:
ListInitExpression.cs
Zdroj:
ListInitExpression.cs
Zdroj:
ListInitExpression.cs
Zdroj:
ListInitExpression.cs
Zdroj:
ListInitExpression.cs

Vytvoří metodu ListInitExpression s názvem Add k přidání prvků do kolekce.

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

Parametry

newExpression
NewExpression

A NewExpression nastavit NewExpression vlastnost rovná se.

initializers
Expression[]

Pole Expression objektů, které se mají použít k naplnění Initializers kolekce.

Návraty

AListInitExpression, který má vlastnost rovna ListInitNodeType a NewExpression vlastnost nastavena na zadanou hodnotu.

Atributy

Výjimky

newExpression nebo initializers je null.

nebo

Jeden nebo více prvků initializers jsou null.

newExpression. Typ neimplementuje IEnumerable.

Neexistuje žádná metoda instance s názvem Add (nerozlišující malá a velká písmena) deklarována v newExpression. Typ nebo jeho základní typ.

nebo

Metoda add on newExpression. Typ nebo základní typ nepřebírají přesně jeden argument.

nebo

Typ reprezentovaný Type vlastností prvního prvku initializers není přiřaditelný k typu argumentu add metoda on newExpression. Typ nebo jeho základní typ.

nebo

Existuje newExpressionvíce než jedna metoda kompatibilní s argumenty s názvem Add (nerozlišující malá a velká písmena). Typ a/nebo jeho základní typ

Poznámky

Vlastnost TypenewExpression musí představovat typ, který implementuje IEnumerable.

Chcete-li použít toto přetížení ListInit(NewExpression, Expression[]), newExpression. Typ nebo jeho základní typ musí deklarovat jednu metodu s názvem "Add" (nerozlišuje velká a malá písmena), která přebírá přesně jeden argument. Typ argumentu musí být přiřaditelný z typu reprezentované Type vlastností prvního prvku prvku initializers.

Vlastnost Initializers vrácené ListInitExpression obsahuje jeden prvek typu ElementInit pro každý prvek .initializers Vlastnost Arguments každého prvku Initializers je singleton kolekce, která obsahuje odpovídající prvek .initializers Vlastnost AddMethod každého prvku Initializers představuje add metoda, která byla zjištěna na newExpression. Typ nebo jeho základní typ.

Vlastnost Type výsledné ListInitExpression hodnoty je rovna newExpression. Typ.

Platí pro

ListInit(NewExpression, MethodInfo, IEnumerable<Expression>)

Zdroj:
ListInitExpression.cs
Zdroj:
ListInitExpression.cs
Zdroj:
ListInitExpression.cs
Zdroj:
ListInitExpression.cs
Zdroj:
ListInitExpression.cs

Vytvoří, ListInitExpression která používá zadanou metodu pro přidání prvků do kolekce.

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

Parametry

newExpression
NewExpression

A NewExpression nastavit NewExpression vlastnost rovná se.

addMethod
MethodInfo

A MethodInfo , který představuje metodu instance s názvem "Add" (nerozlišují malá a velká písmena), která přidává prvek do kolekce.

initializers
IEnumerable<Expression>

Objekt IEnumerable<T> obsahující Expression objekty, které se mají použít k naplnění Initializers kolekce.

Návraty

AListInitExpression, který má vlastnost rovna ListInitNodeType a NewExpression vlastnost nastavena na zadanou hodnotu.

Atributy

Výjimky

newExpression nebo initializers je null.

nebo

Jeden nebo více prvků initializers jsou null.

newExpression. Typ neimplementuje IEnumerable.

nebo

addMethod null není a nepředstavuje metodu instance s názvem Add (nerozlišující malá a velká písmena), která přebírá přesně jeden argument.

nebo

addMethod není null a typ reprezentovaný Type vlastností jednoho nebo více prvků initializers není možné přiřadit k typu argumentu metody, která addMethod představuje.

addMethod is null a no instance method named "Add" that takes one type-compatible argument exists on newExpression. Typ nebo jeho základní typ.

Poznámky

Vlastnost TypenewExpression musí představovat typ, který implementuje IEnumerable.

Pokud addMethod je null, newExpression. Typ nebo jeho základní typ musí deklarovat jednu metodu s názvem "Add" (nerozlišuje velká a malá písmena), která přebírá přesně jeden argument. Pokud addMethod není null, musí představovat metodu instance s názvem "Add" (nerozlišuje velká a malá písmena), která má přesně jeden parametr. Typ reprezentovaný Type vlastností každého prvku initializers musí být přiřadit k typu argumentu add metoda.

Vlastnost Initializers vrácené ListInitExpression obsahuje jeden prvek typu ElementInit pro každý prvek .initializers Vlastnost Arguments každého prvku Initializers je singleton kolekce, která obsahuje odpovídající prvek .initializers Vlastnost AddMethod každého prvku Initializers je rovna addMethod.

Vlastnost Type výsledné ListInitExpression hodnoty je rovna newExpression. Typ.

Platí pro

ListInit(NewExpression, MethodInfo, Expression[])

Zdroj:
ListInitExpression.cs
Zdroj:
ListInitExpression.cs
Zdroj:
ListInitExpression.cs
Zdroj:
ListInitExpression.cs
Zdroj:
ListInitExpression.cs

Vytvoří, ListInitExpression která používá zadanou metodu pro přidání prvků do kolekce.

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

Parametry

newExpression
NewExpression

A NewExpression nastavit NewExpression vlastnost rovná se.

addMethod
MethodInfo

Představuje MethodInfo metodu instance, která přebírá jeden argument, který přidává prvek do kolekce.

initializers
Expression[]

Pole Expression objektů, které se mají použít k naplnění Initializers kolekce.

Návraty

AListInitExpression, který má vlastnost rovna ListInitNodeType a NewExpression vlastnost nastavena na zadanou hodnotu.

Atributy

Výjimky

newExpression nebo initializers je null.

nebo

Jeden nebo více prvků initializers jsou null.

newExpression. Typ neimplementuje IEnumerable.

nebo

addMethod null není a nepředstavuje metodu instance s názvem Add (nerozlišující malá a velká písmena), která přebírá přesně jeden argument.

nebo

addMethod není null a typ reprezentovaný Type vlastností jednoho nebo více prvků initializers není možné přiřadit k typu argumentu metody, která addMethod představuje.

addMethod is null a no instance method named "Add" that takes one type-compatible argument exists on newExpression. Typ nebo jeho základní typ.

Poznámky

Vlastnost TypenewExpression musí představovat typ, který implementuje IEnumerable.

Pokud addMethod je null, newExpression. Typ nebo jeho základní typ musí deklarovat jednu metodu s názvem "Add" (nerozlišuje velká a malá písmena), která přebírá přesně jeden argument. Pokud addMethod není null, musí představovat metodu instance s názvem "Add" (nerozlišuje velká a malá písmena), která má přesně jeden parametr. Typ reprezentovaný Type vlastností každého prvku initializers musí být přiřadit k typu argumentu add metoda.

Vlastnost Initializers vrácené ListInitExpression obsahuje jeden prvek typu ElementInit pro každý prvek .initializers Vlastnost Arguments každého prvku Initializers je singleton kolekce, která obsahuje odpovídající prvek .initializers Vlastnost AddMethod každého prvku Initializers je rovna addMethod.

Vlastnost Type výsledné ListInitExpression hodnoty je rovna newExpression. Typ.

Platí pro