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í
New(ConstructorInfo) |
Vytvoří, NewExpression který představuje volání zadaného konstruktoru, který nepřijímá žádné argumenty. |
New(Type) |
Vytvoří, NewExpression 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 zadány jako pole. |
New(ConstructorInfo)
- 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
Vlastnost ConstructorInfo se nastaví Constructor na .
Návraty
A NewExpression , který má NodeType vlastnost rovnou NewConstructor a vlastnost nastavenou na zadanou hodnotu.
Výjimky
constructor
je null
.
Konstruktor, který představuje, constructor
má alespoň jeden parametr.
Poznámky
Vlastnosti Arguments a Members výsledné NewExpression jsou prázdné kolekce. Vlastnost Type představuje deklarující typ konstruktoru reprezentovaný parametrem constructor
.
Platí pro
New(Type)
- Zdroj:
- NewExpression.cs
- Zdroj:
- NewExpression.cs
- Zdroj:
- NewExpression.cs
Vytvoří, NewExpression 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
A NewExpression , který má NodeType vlastnost rovnou New a Constructor vlastnost nastavena na , ConstructorInfo 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ů.
Vlastnosti Arguments a Members výsledné NewExpression jsou prázdné kolekce. Vlastnost Type se rovná hodnotě type
.
Platí pro
New(ConstructorInfo, IEnumerable<Expression>)
- 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
Vlastnost ConstructorInfo se nastaví Constructor na .
- arguments
- IEnumerable<Expression>
Obsahuje IEnumerable<T> objekty, které Expression se mají použít k naplnění Arguments kolekce.
Návraty
A NewExpression , který má NodeType vlastnost rovnou New a Constructor vlastnosti a Arguments nastavené na zadané hodnoty.
Výjimky
Parametr arguments
neobsahuje stejný počet prvků jako počet parametrů konstruktoru, který constructor
představuje.
-nebo-
Vlastnost Type elementu 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ů pro konstruktor reprezentovaný parametrem constructor
. Pokud arguments
je null
, považuje se za prázdnou a Arguments vlastnost výsledné NewExpression kolekce je prázdná.
Vlastnost Type výsledné NewExpression představuje deklarující typ konstruktoru reprezentovaný parametrem constructor
. Vlastnost Members je prázdná kolekce.
Platí pro
New(ConstructorInfo, Expression[])
- 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
Vlastnost ConstructorInfo se nastaví Constructor na .
- arguments
- Expression[]
Pole Expression objektů, které se mají použít k naplnění Arguments kolekce.
Návraty
A NewExpression , který má NodeType vlastnost rovnou New a Constructor vlastnosti a Arguments nastavené na zadané hodnoty.
Výjimky
Délka parametru arguments
odpovídá počtu parametrů konstruktoru, který constructor
představuje.
-nebo-
Vlastnost Type elementu 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ů pro konstruktor reprezentovaný parametrem constructor
. Pokud arguments
je null
, považuje se za prázdnou a Arguments vlastnost výsledné NewExpression kolekce je prázdná.
Vlastnost Type výsledné NewExpression představuje deklarující typ konstruktoru reprezentovaný parametrem constructor
. Vlastnost Members je prázdná kolekce.
Platí pro
New(ConstructorInfo, IEnumerable<Expression>, IEnumerable<MemberInfo>)
- 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);
public static System.Linq.Expressions.NewExpression New (System.Reflection.ConstructorInfo constructor, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression>? arguments, System.Collections.Generic.IEnumerable<System.Reflection.MemberInfo>? members);
static member New : System.Reflection.ConstructorInfo * seq<System.Linq.Expressions.Expression> * seq<System.Reflection.MemberInfo> -> System.Linq.Expressions.NewExpression
Public Shared Function New (constructor As ConstructorInfo, arguments As IEnumerable(Of Expression), members As IEnumerable(Of MemberInfo)) As NewExpression
Parametry
- constructor
- ConstructorInfo
Vlastnost ConstructorInfo se nastaví Constructor na .
- arguments
- IEnumerable<Expression>
Obsahuje IEnumerable<T> objekty, které Expression se mají použít k naplnění Arguments kolekce.
- members
- IEnumerable<MemberInfo>
Obsahuje IEnumerable<T> objekty, které MemberInfo se mají použít k naplnění Members kolekce.
Návraty
Vlastnost a NewExpression , která má NodeType vlastnost rovna NewConstructora vlastnosti a MembersArguments nastavené na zadané hodnoty.
Výjimky
constructor
je null
.
-nebo-
Prvek je arguments
null
.
-nebo-
Prvek je members
null
.
Parametr arguments
neobsahuje stejný počet prvků jako počet parametrů konstruktoru, který constructor
představuje.
-nebo-
Vlastnost Type elementu 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
parametr .
-nebo-
Prvek má arguments
Type vlastnost, která představuje typ, který nelze přiřadit k typu členu reprezentovaný odpovídajícím prvkem .members
Poznámky
Parametr arguments
musí obsahovat stejný počet prvků jako počet parametrů pro konstruktor reprezentovaný parametrem constructor
. Pokud arguments
je null
, považuje se za prázdnou a Arguments vlastnost výsledné NewExpression kolekce je prázdná.
Pokud members
je null
, Members vlastnost výsledné NewExpression kolekce je prázdná. 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 , PropertyInfoFieldInfo nebo MethodInfo , který představuje člen instance na deklarující typ konstruktoru reprezentovaný .constructor
Pokud představuje vlastnost, musí mít vlastnost přístup.get
Odpovídající prvek pro arguments
pro každý prvek members
musí mít Type vlastnost, která představuje typ, který je přiřaditelný k typu člena, který members
prvek představuje.
Vlastnost Type výsledné 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
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 zadány 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);
public static System.Linq.Expressions.NewExpression New (System.Reflection.ConstructorInfo constructor, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression>? arguments, params System.Reflection.MemberInfo[]? members);
static member New : System.Reflection.ConstructorInfo * seq<System.Linq.Expressions.Expression> * System.Reflection.MemberInfo[] -> System.Linq.Expressions.NewExpression
Public Shared Function New (constructor As ConstructorInfo, arguments As IEnumerable(Of Expression), ParamArray members As MemberInfo()) As NewExpression
Parametry
- constructor
- ConstructorInfo
Vlastnost ConstructorInfo se má nastavit Constructor na rovna.
- arguments
- IEnumerable<Expression>
Objekt IEnumerable<T> obsahující objekty, které Expression 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
Vlastnost NewExpression a, která má NodeType vlastnost rovna NewConstructora vlastnosti , Arguments a Members nastavené na zadané hodnoty.
Výjimky
constructor
je null
.
-nebo-
Prvek je arguments
null
.
-nebo-
Prvek je members
null
.
Parametr arguments
neobsahuje stejný počet prvků jako počet parametrů konstruktoru, který constructor
představuje.
-nebo-
Vlastnost Type elementu 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
parametr .
-nebo-
Prvek má arguments
Type vlastnost, která představuje typ, který není přiřaditelný k typu člena, který je reprezentován odpovídajícím prvkem .members
Poznámky
Parametr arguments
musí obsahovat stejný počet prvků jako počet parametrů pro konstruktor reprezentovaný parametrem constructor
. Pokud arguments
je null
, považuje se za prázdnou Arguments a vlastností výsledné NewExpression kolekce je prázdná kolekce.
Pokud members
je null
, Members je vlastnost výsledné NewExpression kolekce prázdná. 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 , PropertyInfoFieldInfo nebo MethodInfo který představuje instanci člen na deklarující typ konstruktoru reprezentovaný .constructor
Pokud představuje vlastnost, musí být vlastnost schopná načíst hodnotu přidruženého pole. Odpovídající prvek arguments
pro každý prvek members
musí mít Type vlastnost, která představuje typ, který je přiřaditelný k typu člen, který members
element představuje.
Vlastnost Type výsledné NewExpression představuje deklarující typ konstruktoru, který constructor
představuje.