Expression.ListInit Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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.