Expression.New Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Erstellt eine NewExpression.
Überlädt
New(ConstructorInfo) |
Erstellt eine NewExpression, die den Aufruf des angegebenen Konstruktors darstellt, der keine Argumente akzeptiert. |
New(Type) |
Erstellt eine NewExpression, die den parameterlosen Konstruktor des angegebenen Typs aufruft. |
New(ConstructorInfo, IEnumerable<Expression>) |
Erstellt eine NewExpression, die den angegebenen Konstruktor mit den angegebenen Argumenten aufruft. |
New(ConstructorInfo, Expression[]) |
Erstellt eine NewExpression, die den angegebenen Konstruktor mit den angegebenen Argumenten aufruft. |
New(ConstructorInfo, IEnumerable<Expression>, IEnumerable<MemberInfo>) |
Erstellt eine NewExpression, die den angegebenen Konstruktor mit den angegebenen Argumenten aufruft. Die Elemente, die auf die initialisierten Konstruktorfelder zugreifen, werden angegeben. |
New(ConstructorInfo, IEnumerable<Expression>, MemberInfo[]) |
Erstellt eine NewExpression, die den angegebenen Konstruktor mit den angegebenen Argumenten aufruft. Die Elemente, die auf die initialisierten Konstruktorfelder zugreifen, werden als Array angegeben. |
New(ConstructorInfo)
- Quelle:
- NewExpression.cs
- Quelle:
- NewExpression.cs
- Quelle:
- NewExpression.cs
Erstellt eine NewExpression, die den Aufruf des angegebenen Konstruktors darstellt, der keine Argumente akzeptiert.
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
Parameter
- constructor
- ConstructorInfo
Die ConstructorInfo, um die Constructor-Eigenschaft auf den Wert festzulegen.
Gibt zurück
Eine NewExpression, die die NodeType-Eigenschaft hat, die New entspricht, und die Constructor-Eigenschaft, die auf den angegebenen Wert festgelegt ist.
Ausnahmen
constructor
ist null
.
Der Konstruktor, der constructor
darstellt, weist mindestens einen Parameter auf.
Hinweise
Die eigenschaften Arguments und Members der resultierenden NewExpression sind leere Auflistungen. Die Type-Eigenschaft stellt den deklarierenden Typ des Konstruktors dar, der durch constructor
dargestellt wird.
Gilt für:
New(Type)
- Quelle:
- NewExpression.cs
- Quelle:
- NewExpression.cs
- Quelle:
- NewExpression.cs
Erstellt eine NewExpression, die den parameterlosen Konstruktor des angegebenen Typs aufruft.
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
Parameter
Gibt zurück
Ein NewExpression mit der NodeType-Eigenschaft gleich New und der Constructor-Eigenschaft, die auf die ConstructorInfo festgelegt ist, die den Konstruktor ohne Parameter für den angegebenen Typ darstellt.
Ausnahmen
type
ist null
.
Der Typ, der type
darstellt, verfügt nicht über einen Konstruktor ohne Parameter.
Beispiele
Im folgenden Beispiel wird veranschaulicht, wie die New(Type)-Methode verwendet wird, um eine NewExpression zu erstellen, die das Erstellen einer neuen Instanz eines Wörterbuchobjekts darstellt, indem der Konstruktor ohne Parameter aufgerufen wird.
// 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()
Hinweise
Der parameter type
muss einen Typ darstellen, der einen Konstruktor ohne Parameter aufweist.
Die eigenschaften Arguments und Members der resultierenden NewExpression sind leere Auflistungen. Die Type-Eigenschaft ist gleich type
.
Gilt für:
New(ConstructorInfo, IEnumerable<Expression>)
- Quelle:
- NewExpression.cs
- Quelle:
- NewExpression.cs
- Quelle:
- NewExpression.cs
Erstellt eine NewExpression, die den angegebenen Konstruktor mit den angegebenen Argumenten aufruft.
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
Parameter
- constructor
- ConstructorInfo
Die ConstructorInfo, um die Constructor-Eigenschaft auf den Wert festzulegen.
- arguments
- IEnumerable<Expression>
Eine IEnumerable<T>, die Expression Objekte enthält, die zum Auffüllen der Arguments-Auflistung verwendet werden sollen.
Gibt zurück
Eine NewExpression, die die NodeType Eigenschaft hat, die New entspricht, und die eigenschaften Constructor und Arguments auf die angegebenen Werte festgelegt sind.
Ausnahmen
Der parameter arguments
enthält nicht dieselbe Anzahl von Elementen wie die Anzahl der Parameter für den Konstruktor, der constructor
darstellt.
-oder-
Die Type Eigenschaft eines Elements von arguments
kann nicht dem Typ des entsprechenden Parameters des Konstruktors zugewiesen werden, der constructor
darstellt.
Hinweise
Der parameter arguments
muss dieselbe Anzahl von Elementen wie die Anzahl der Parameter für den Konstruktor enthalten, der durch constructor
dargestellt wird. Wenn arguments
null
ist, wird sie als leer betrachtet, und die Arguments Eigenschaft der resultierenden NewExpression ist eine leere Auflistung.
Die Type-Eigenschaft des resultierenden NewExpression stellt den deklarierenden Typ des Konstruktors dar, der durch constructor
dargestellt wird. Die Members-Eigenschaft ist eine leere Auflistung.
Gilt für:
New(ConstructorInfo, Expression[])
- Quelle:
- NewExpression.cs
- Quelle:
- NewExpression.cs
- Quelle:
- NewExpression.cs
Erstellt eine NewExpression, die den angegebenen Konstruktor mit den angegebenen Argumenten aufruft.
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
Parameter
- constructor
- ConstructorInfo
Die ConstructorInfo, um die Constructor-Eigenschaft auf den Wert festzulegen.
- arguments
- Expression[]
Ein Array von Expression Objekten, die zum Auffüllen der Arguments-Auflistung verwendet werden sollen.
Gibt zurück
Eine NewExpression, die die NodeType Eigenschaft hat, die New entspricht, und die eigenschaften Constructor und Arguments auf die angegebenen Werte festgelegt sind.
Ausnahmen
Die Länge der arguments
entspricht der Anzahl der Parameter für den Konstruktor, der constructor
darstellt.
-oder-
Die Type Eigenschaft eines Elements von arguments
kann nicht dem Typ des entsprechenden Parameters des Konstruktors zugewiesen werden, der constructor
darstellt.
Hinweise
Der parameter arguments
muss dieselbe Anzahl von Elementen wie die Anzahl der Parameter für den Konstruktor enthalten, der durch constructor
dargestellt wird. Wenn arguments
null
ist, wird sie als leer betrachtet, und die Arguments Eigenschaft der resultierenden NewExpression ist eine leere Auflistung.
Die Type-Eigenschaft des resultierenden NewExpression stellt den deklarierenden Typ des Konstruktors dar, der durch constructor
dargestellt wird. Die Members-Eigenschaft ist eine leere Auflistung.
Gilt für:
New(ConstructorInfo, IEnumerable<Expression>, IEnumerable<MemberInfo>)
- Quelle:
- NewExpression.cs
- Quelle:
- NewExpression.cs
- Quelle:
- NewExpression.cs
Erstellt eine NewExpression, die den angegebenen Konstruktor mit den angegebenen Argumenten aufruft. Die Elemente, die auf die initialisierten Konstruktorfelder zugreifen, werden angegeben.
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
Parameter
- constructor
- ConstructorInfo
Die ConstructorInfo, um die Constructor-Eigenschaft auf den Wert festzulegen.
- arguments
- IEnumerable<Expression>
Eine IEnumerable<T>, die Expression Objekte enthält, die zum Auffüllen der Arguments-Auflistung verwendet werden sollen.
- members
- IEnumerable<MemberInfo>
Eine IEnumerable<T>, die MemberInfo Objekte enthält, die zum Auffüllen der Members-Auflistung verwendet werden sollen.
Gibt zurück
Eine NewExpression, die die eigenschaft NodeType gleich New und die eigenschaften Constructor, Arguments und Members auf die angegebenen Werte festgelegt hat.
Ausnahmen
constructor
ist null
.
-oder-
Ein Element von arguments
ist null
.
-oder-
Ein Element von members
ist null
.
Der parameter arguments
enthält nicht dieselbe Anzahl von Elementen wie die Anzahl der Parameter für den Konstruktor, der constructor
darstellt.
-oder-
Die Type Eigenschaft eines Elements von arguments
kann nicht dem Typ des entsprechenden Parameters des Konstruktors zugewiesen werden, der constructor
darstellt.
-oder-
Der parameter members
hat nicht dieselbe Anzahl von Elementen wie arguments
.
-oder-
Ein Element von arguments
verfügt über eine Type-Eigenschaft, die einen Typ darstellt, der dem Typ des Elements nicht zugewiesen werden kann, das durch das entsprechende Element von members
dargestellt wird.
Hinweise
Der parameter arguments
muss dieselbe Anzahl von Elementen wie die Anzahl der Parameter für den Konstruktor enthalten, der durch constructor
dargestellt wird. Wenn arguments
null
ist, wird sie als leer betrachtet, und die Arguments Eigenschaft der resultierenden NewExpression ist eine leere Auflistung.
Wenn members
null
ist, ist die Members-Eigenschaft der resultierenden NewExpression eine leere Auflistung. Wenn members
nicht null
ist, muss sie dieselbe Anzahl von Elementen wie arguments
aufweisen, und jedes Element darf nicht null
werden. Jedes Element von members
muss ein PropertyInfo, FieldInfo oder MethodInfo sein, das ein Instanzmememm für den deklarierenden Typ des Konstruktors darstellt, der durch constructor
dargestellt wird. Wenn sie eine Eigenschaft darstellt, muss die Eigenschaft über einen get
Accessor verfügen. Das entsprechende Element von arguments
für jedes Element von members
muss über eine Type-Eigenschaft verfügen, die einen Typ darstellt, der dem Elementtyp zugewiesen werden kann, den das members
-Element darstellt.
Die Type-Eigenschaft des resultierenden NewExpression stellt den deklarierenden Typ des Konstruktors dar, der constructor
darstellt.
Gilt für:
New(ConstructorInfo, IEnumerable<Expression>, MemberInfo[])
- Quelle:
- NewExpression.cs
- Quelle:
- NewExpression.cs
- Quelle:
- NewExpression.cs
Erstellt eine NewExpression, die den angegebenen Konstruktor mit den angegebenen Argumenten aufruft. Die Elemente, die auf die initialisierten Konstruktorfelder zugreifen, werden als Array angegeben.
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
Parameter
- constructor
- ConstructorInfo
Die ConstructorInfo, um die Constructor-Eigenschaft auf den Wert festzulegen.
- arguments
- IEnumerable<Expression>
Eine IEnumerable<T>, die Expression Objekte enthält, die zum Auffüllen der Arguments-Auflistung verwendet werden sollen.
- members
- MemberInfo[]
Ein Array von MemberInfo Objekten, die zum Auffüllen der Members-Auflistung verwendet werden sollen.
Gibt zurück
Eine NewExpression, die die eigenschaft NodeType gleich New und die eigenschaften Constructor, Arguments und Members auf die angegebenen Werte festgelegt hat.
Ausnahmen
constructor
ist null
.
-oder-
Ein Element von arguments
ist null
.
-oder-
Ein Element von members
ist null
.
Der parameter arguments
enthält nicht dieselbe Anzahl von Elementen wie die Anzahl der Parameter für den Konstruktor, der constructor
darstellt.
-oder-
Die Type Eigenschaft eines Elements von arguments
kann nicht dem Typ des entsprechenden Parameters des Konstruktors zugewiesen werden, der constructor
darstellt.
-oder-
Der parameter members
hat nicht dieselbe Anzahl von Elementen wie arguments
.
-oder-
Ein Element von arguments
verfügt über eine Type-Eigenschaft, die einen Typ darstellt, der dem Typ des Elements nicht zugewiesen werden kann, das durch das entsprechende Element von members
dargestellt wird.
Hinweise
Der parameter arguments
muss dieselbe Anzahl von Elementen wie die Anzahl der Parameter für den Konstruktor enthalten, der durch constructor
dargestellt wird. Wenn arguments
null
ist, wird sie als leer betrachtet, und die Arguments Eigenschaft der resultierenden NewExpression ist eine leere Auflistung.
Wenn members
null
ist, ist die Members-Eigenschaft der resultierenden NewExpression eine leere Auflistung. Wenn members
nicht null
ist, muss sie dieselbe Anzahl von Elementen wie arguments
aufweisen, und jedes Element darf nicht null
werden. Jedes Element von members
muss ein PropertyInfo, FieldInfo oder MethodInfo sein, das ein Instanzmememm für den deklarierenden Typ des Konstruktors darstellt, der durch constructor
dargestellt wird. Wenn sie eine Eigenschaft darstellt, muss die Eigenschaft in der Lage sein, den Wert des zugeordneten Felds abzurufen. Das entsprechende Element von arguments
für jedes Element von members
muss über eine Type-Eigenschaft verfügen, die einen Typ darstellt, der dem Elementtyp zugewiesen werden kann, den das members
-Element darstellt.
Die Type-Eigenschaft des resultierenden NewExpression stellt den deklarierenden Typ des Konstruktors dar, der constructor
darstellt.