Sdílet prostřednictvím


Expression.New Metoda

Definice

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

type
Type

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

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

constructor je null.

nebo

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

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

constructor je null.

nebo

arguments Prvek je null.

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.

Platí pro