Sdílet prostřednictvím


Expression.New Metoda

Definice

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

type
Type

A Type , který má konstruktor, který nepřijímá žádné argumenty.

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

constructor je null.

-nebo-

Prvek je argumentsnull.

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

constructor je null.

-nebo-

Prvek je argumentsnull.

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 argumentsnull.

-nebo-

Prvek je membersnull.

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 argumentsparametr .

-nebo-

Prvek má argumentsType 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 argumentsnull.

-nebo-

Prvek je membersnull.

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 argumentsparametr .

-nebo-

Prvek má argumentsType 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.

Platí pro