Expression.New 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ří NewExpression.
Přetížení
| Name | Description |
|---|---|
| New(ConstructorInfo) |
Vytvoří NewExpression , který představuje volání zadaného konstruktoru, který nepřijímá žádné argumenty. |
| New(Type) |
NewExpression Vytvoří, který představuje volání konstruktoru bez parametrů zadaného typu. |
| New(ConstructorInfo, IEnumerable<Expression>) |
Vytvoří NewExpression , který představuje volání zadaného konstruktoru se zadanými argumenty. |
| New(ConstructorInfo, Expression[]) |
Vytvoří NewExpression , který představuje volání zadaného konstruktoru se zadanými argumenty. |
| New(ConstructorInfo, IEnumerable<Expression>, IEnumerable<MemberInfo>) |
Vytvoří NewExpression , který představuje volání zadaného konstruktoru se zadanými argumenty. Jsou zadány členy, které přistupují k inicializovaným polím konstruktoru. |
| New(ConstructorInfo, IEnumerable<Expression>, MemberInfo[]) |
Vytvoří NewExpression , který představuje volání zadaného konstruktoru se zadanými argumenty. Členy, které přistupují k inicializovaným polím konstruktoru, jsou určeny jako pole. |
New(ConstructorInfo)
- Zdroj:
- NewExpression.cs
- Zdroj:
- NewExpression.cs
- Zdroj:
- NewExpression.cs
- Zdroj:
- NewExpression.cs
- Zdroj:
- NewExpression.cs
Vytvoří NewExpression , který představuje volání zadaného konstruktoru, který nepřijímá žádné argumenty.
public:
static System::Linq::Expressions::NewExpression ^ New(System::Reflection::ConstructorInfo ^ constructor);
public static System.Linq.Expressions.NewExpression New(System.Reflection.ConstructorInfo constructor);
static member New : System.Reflection.ConstructorInfo -> System.Linq.Expressions.NewExpression
Public Shared Function New (constructor As ConstructorInfo) As NewExpression
Parametry
- constructor
- ConstructorInfo
Chcete-li ConstructorInfo nastavit Constructor vlastnost rovná se.
Návraty
ANewExpression, který má vlastnost rovna NewNodeType a Constructor vlastnost nastavena na zadanou hodnotu.
Výjimky
constructor je null.
Konstruktor, který constructor představuje, má alespoň jeden parametr.
Poznámky
Výsledné Arguments hodnoty a Members vlastnosti NewExpression jsou prázdné kolekce. Vlastnost Type představuje deklarující typ konstruktoru reprezentovaný constructor.
Platí pro
New(Type)
- Zdroj:
- NewExpression.cs
- Zdroj:
- NewExpression.cs
- Zdroj:
- NewExpression.cs
- Zdroj:
- NewExpression.cs
- Zdroj:
- NewExpression.cs
NewExpression Vytvoří, který představuje volání konstruktoru bez parametrů zadaného typu.
public:
static System::Linq::Expressions::NewExpression ^ New(Type ^ type);
public static System.Linq.Expressions.NewExpression New(Type type);
static member New : Type -> System.Linq.Expressions.NewExpression
Public Shared Function New (type As Type) As NewExpression
Parametry
Návraty
ANewExpression, který má vlastnost rovna NewNodeType a Constructor vlastnost nastavena naConstructorInfo, která představuje konstruktor bez parametrů pro zadaný typ.
Výjimky
type je null.
Typ, který type představuje, nemá konstruktor bez parametrů.
Příklady
Následující příklad ukazuje, jak použít metodu New(Type) k vytvoření NewExpression , která představuje vytvoření nové instance objektu slovníku voláním konstruktoru bez parametrů.
// Create a NewExpression that represents constructing
// a new instance of Dictionary<int, string>.
System.Linq.Expressions.NewExpression newDictionaryExpression =
System.Linq.Expressions.Expression.New(typeof(Dictionary<int, string>));
Console.WriteLine(newDictionaryExpression.ToString());
// This code produces the following output:
//
// new Dictionary`2()
' Create a NewExpression that represents constructing
' a new instance of Dictionary(Of Integer, String).
Dim newDictionaryExpression As System.Linq.Expressions.NewExpression = _
System.Linq.Expressions.Expression.[New]( _
Type.GetType("System.Collections.Generic.Dictionary`2[System.Int32, System.String]"))
Console.WriteLine(newDictionaryExpression.ToString())
' This code produces the following output:
'
' new Dictionary`2()
Poznámky
Parametr type musí představovat typ, který má konstruktor bez parametrů.
Výsledné Arguments hodnoty a Members vlastnosti NewExpression jsou prázdné kolekce. Vlastnost Type je rovna type.
Platí pro
New(ConstructorInfo, IEnumerable<Expression>)
- Zdroj:
- NewExpression.cs
- Zdroj:
- NewExpression.cs
- Zdroj:
- NewExpression.cs
- Zdroj:
- NewExpression.cs
- Zdroj:
- NewExpression.cs
Vytvoří NewExpression , který představuje volání zadaného konstruktoru se zadanými argumenty.
public:
static System::Linq::Expressions::NewExpression ^ New(System::Reflection::ConstructorInfo ^ constructor, System::Collections::Generic::IEnumerable<System::Linq::Expressions::Expression ^> ^ arguments);
public static System.Linq.Expressions.NewExpression New(System.Reflection.ConstructorInfo constructor, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression> arguments);
public static System.Linq.Expressions.NewExpression New(System.Reflection.ConstructorInfo constructor, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression>? arguments);
static member New : System.Reflection.ConstructorInfo * seq<System.Linq.Expressions.Expression> -> System.Linq.Expressions.NewExpression
Public Shared Function New (constructor As ConstructorInfo, arguments As IEnumerable(Of Expression)) As NewExpression
Parametry
- constructor
- ConstructorInfo
Chcete-li ConstructorInfo nastavit Constructor vlastnost rovná se.
- arguments
- IEnumerable<Expression>
Objekt IEnumerable<T> obsahující Expression objekty, které se mají použít k naplnění Arguments kolekce.
Návraty
ANewExpression, který má vlastnost rovna NewNodeType a Constructor a Arguments vlastnosti nastaveny na zadané hodnoty.
Výjimky
Parametr arguments neobsahuje stejný počet prvků jako počet parametrů konstruktoru, který constructor představuje.
nebo
Type Vlastnost prvku arguments není možné přiřadit k typu odpovídajícího parametru konstruktoru, který constructor představuje.
Poznámky
Parametr arguments musí obsahovat stejný počet prvků jako počet parametrů konstruktoru reprezentovaný constructor. Pokud arguments je null, je považována za prázdnou a Arguments vlastnost výsledek NewExpression je prázdná kolekce.
Vlastnost Type výsledného NewExpression představuje deklarující typ konstruktoru reprezentovaný constructor. Vlastnost Members je prázdná kolekce.
Platí pro
New(ConstructorInfo, Expression[])
- Zdroj:
- NewExpression.cs
- Zdroj:
- NewExpression.cs
- Zdroj:
- NewExpression.cs
- Zdroj:
- NewExpression.cs
- Zdroj:
- NewExpression.cs
Vytvoří NewExpression , který představuje volání zadaného konstruktoru se zadanými argumenty.
public:
static System::Linq::Expressions::NewExpression ^ New(System::Reflection::ConstructorInfo ^ constructor, ... cli::array <System::Linq::Expressions::Expression ^> ^ arguments);
public static System.Linq.Expressions.NewExpression New(System.Reflection.ConstructorInfo constructor, params System.Linq.Expressions.Expression[] arguments);
public static System.Linq.Expressions.NewExpression New(System.Reflection.ConstructorInfo constructor, params System.Linq.Expressions.Expression[]? arguments);
static member New : System.Reflection.ConstructorInfo * System.Linq.Expressions.Expression[] -> System.Linq.Expressions.NewExpression
Public Shared Function New (constructor As ConstructorInfo, ParamArray arguments As Expression()) As NewExpression
Parametry
- constructor
- ConstructorInfo
Chcete-li ConstructorInfo nastavit Constructor vlastnost rovná se.
- arguments
- Expression[]
Pole Expression objektů, které se mají použít k naplnění Arguments kolekce.
Návraty
ANewExpression, který má vlastnost rovna NewNodeType a Constructor a Arguments vlastnosti nastaveny na zadané hodnoty.
Výjimky
Délka arguments odpovídá počtu parametrů konstruktoru, který constructor představuje.
nebo
Type Vlastnost prvku arguments není možné přiřadit k typu odpovídajícího parametru konstruktoru, který constructor představuje.
Poznámky
Parametr arguments musí obsahovat stejný počet prvků jako počet parametrů konstruktoru reprezentovaný constructor. Pokud arguments je null, je považována za prázdnou a Arguments vlastnost výsledek NewExpression je prázdná kolekce.
Vlastnost Type výsledného NewExpression představuje deklarující typ konstruktoru reprezentovaný constructor. Vlastnost Members je prázdná kolekce.
Platí pro
New(ConstructorInfo, IEnumerable<Expression>, IEnumerable<MemberInfo>)
- Zdroj:
- NewExpression.cs
- Zdroj:
- NewExpression.cs
- Zdroj:
- NewExpression.cs
- Zdroj:
- NewExpression.cs
- Zdroj:
- NewExpression.cs
Vytvoří NewExpression , který představuje volání zadaného konstruktoru se zadanými argumenty. Jsou zadány členy, které přistupují k inicializovaným polím konstruktoru.
public:
static System::Linq::Expressions::NewExpression ^ New(System::Reflection::ConstructorInfo ^ constructor, System::Collections::Generic::IEnumerable<System::Linq::Expressions::Expression ^> ^ arguments, System::Collections::Generic::IEnumerable<System::Reflection::MemberInfo ^> ^ members);
public static System.Linq.Expressions.NewExpression New(System.Reflection.ConstructorInfo constructor, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression> arguments, System.Collections.Generic.IEnumerable<System.Reflection.MemberInfo> members);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The Property metadata or other accessor may be trimmed.")]
public static System.Linq.Expressions.NewExpression New(System.Reflection.ConstructorInfo constructor, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression>? arguments, System.Collections.Generic.IEnumerable<System.Reflection.MemberInfo>? members);
public static System.Linq.Expressions.NewExpression New(System.Reflection.ConstructorInfo constructor, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression>? arguments, System.Collections.Generic.IEnumerable<System.Reflection.MemberInfo>? members);
static member New : System.Reflection.ConstructorInfo * seq<System.Linq.Expressions.Expression> * seq<System.Reflection.MemberInfo> -> System.Linq.Expressions.NewExpression
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The Property metadata or other accessor may be trimmed.")>]
static member New : System.Reflection.ConstructorInfo * seq<System.Linq.Expressions.Expression> * seq<System.Reflection.MemberInfo> -> System.Linq.Expressions.NewExpression
Public Shared Function New (constructor As ConstructorInfo, arguments As IEnumerable(Of Expression), members As IEnumerable(Of MemberInfo)) As NewExpression
Parametry
- constructor
- ConstructorInfo
Chcete-li ConstructorInfo nastavit Constructor vlastnost rovná se.
- arguments
- IEnumerable<Expression>
Objekt IEnumerable<T> obsahující Expression objekty, které se mají použít k naplnění Arguments kolekce.
- members
- IEnumerable<MemberInfo>
Objekt IEnumerable<T> obsahující MemberInfo objekty, které se mají použít k naplnění Members kolekce.
Návraty
ANewExpression, který má vlastnost rovna NewArgumentsNodeTypeConstructora a vlastnosti Members nastaveny na zadané hodnoty.
- Atributy
Výjimky
constructor je null.
nebo
arguments Prvek je null.
nebo
members Prvek je null.
Parametr arguments neobsahuje stejný počet prvků jako počet parametrů konstruktoru, který constructor představuje.
nebo
Type Vlastnost prvku arguments není možné přiřadit k typu odpovídajícího parametru konstruktoru, který constructor představuje.
nebo
Parametr members nemá stejný počet prvků jako arguments.
nebo
arguments Prvek má Type vlastnost, která představuje typ, který nelze přiřadit k typu člen, který je reprezentován odpovídajícím prvkem members.
Poznámky
Parametr arguments musí obsahovat stejný počet prvků jako počet parametrů konstruktoru reprezentovaný constructor. Pokud arguments je null, je považována za prázdnou a Arguments vlastnost výsledek NewExpression je prázdná kolekce.
Pokud members je null, Members vlastnost výsledné NewExpression je prázdná kolekce. Pokud members není null, musí mít stejný počet prvků jako arguments a každý prvek nesmí být null. Každý prvek members musí být nebo MethodInfoPropertyInfoFieldInfo, který představuje člen instance pro deklarující typ konstruktoru reprezentovaný .constructor Pokud představuje vlastnost, musí mít get vlastnost příslušenství. Odpovídající prvek pro každý prvek argumentsmembers musí mít Type vlastnost, která představuje typ, který je přiřazen k typu člen, který members prvek představuje.
Vlastnost Type výsledného NewExpression představuje deklarující typ konstruktoru, který constructor představuje.
Platí pro
New(ConstructorInfo, IEnumerable<Expression>, MemberInfo[])
- Zdroj:
- NewExpression.cs
- Zdroj:
- NewExpression.cs
- Zdroj:
- NewExpression.cs
- Zdroj:
- NewExpression.cs
- Zdroj:
- NewExpression.cs
Vytvoří NewExpression , který představuje volání zadaného konstruktoru se zadanými argumenty. Členy, které přistupují k inicializovaným polím konstruktoru, jsou určeny jako pole.
public:
static System::Linq::Expressions::NewExpression ^ New(System::Reflection::ConstructorInfo ^ constructor, System::Collections::Generic::IEnumerable<System::Linq::Expressions::Expression ^> ^ arguments, ... cli::array <System::Reflection::MemberInfo ^> ^ members);
public static System.Linq.Expressions.NewExpression New(System.Reflection.ConstructorInfo constructor, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression> arguments, params System.Reflection.MemberInfo[] members);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The Property metadata or other accessor may be trimmed.")]
public static System.Linq.Expressions.NewExpression New(System.Reflection.ConstructorInfo constructor, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression>? arguments, params System.Reflection.MemberInfo[]? members);
public static System.Linq.Expressions.NewExpression New(System.Reflection.ConstructorInfo constructor, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression>? arguments, params System.Reflection.MemberInfo[]? members);
static member New : System.Reflection.ConstructorInfo * seq<System.Linq.Expressions.Expression> * System.Reflection.MemberInfo[] -> System.Linq.Expressions.NewExpression
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The Property metadata or other accessor may be trimmed.")>]
static member New : System.Reflection.ConstructorInfo * seq<System.Linq.Expressions.Expression> * System.Reflection.MemberInfo[] -> System.Linq.Expressions.NewExpression
Public Shared Function New (constructor As ConstructorInfo, arguments As IEnumerable(Of Expression), ParamArray members As MemberInfo()) As NewExpression
Parametry
- constructor
- ConstructorInfo
Chcete-li ConstructorInfo nastavit Constructor vlastnost rovná se.
- arguments
- IEnumerable<Expression>
Objekt IEnumerable<T> obsahující Expression objekty, které se mají použít k naplnění Arguments kolekce.
- members
- MemberInfo[]
Pole MemberInfo objektů, které se mají použít k naplnění Members kolekce.
Návraty
ANewExpression, který má vlastnost rovna NewArgumentsNodeTypeConstructora a vlastnosti Members nastaveny na zadané hodnoty.
- Atributy
Výjimky
constructor je null.
nebo
arguments Prvek je null.
nebo
members Prvek je null.
Parametr arguments neobsahuje stejný počet prvků jako počet parametrů konstruktoru, který constructor představuje.
nebo
Type Vlastnost prvku arguments není možné přiřadit k typu odpovídajícího parametru konstruktoru, který constructor představuje.
nebo
Parametr members nemá stejný počet prvků jako arguments.
nebo
arguments Prvek má Type vlastnost, která představuje typ, který nelze přiřadit k typu člen, který je reprezentován odpovídajícím prvkem members.
Poznámky
Parametr arguments musí obsahovat stejný počet prvků jako počet parametrů konstruktoru reprezentovaný constructor. Pokud arguments je null, je považována za prázdnou a Arguments vlastnost výsledek NewExpression je prázdná kolekce.
Pokud members je null, Members vlastnost výsledné NewExpression je prázdná kolekce. Pokud members není null, musí mít stejný počet prvků jako arguments a každý prvek nesmí být null. Každý prvek members musí být nebo MethodInfoPropertyInfoFieldInfo, který představuje člen instance pro deklarující typ konstruktoru reprezentovaný .constructor Pokud představuje vlastnost, musí být vlastnost schopna načíst hodnotu přidruženého pole. Odpovídající prvek pro každý prvek argumentsmembers musí mít Type vlastnost, která představuje typ, který je přiřazen k typu člen, který members prvek představuje.
Vlastnost Type výsledného NewExpression představuje deklarující typ konstruktoru, který constructor představuje.