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 Aufruf des Konstruktors vom angegebenen Typ ohne Parameter darstellt. |
New(ConstructorInfo, IEnumerable<Expression>) |
Erstellt eine NewExpression, die den Aufruf des angegebenen Konstruktors mit den angegebenen Argumenten darstellt. |
New(ConstructorInfo, Expression[]) |
Erstellt eine NewExpression, die den Aufruf des angegebenen Konstruktors mit den angegebenen Argumenten darstellt. |
New(ConstructorInfo, IEnumerable<Expression>, IEnumerable<MemberInfo>) |
Erstellt eine NewExpression, die den Aufruf des angegebenen Konstruktors mit den angegebenen Argumenten darstellt. Es werden die Member angegeben, die auf die durch den Konstruktor initialisierten Felder zugreifen. |
New(ConstructorInfo, IEnumerable<Expression>, MemberInfo[]) |
Erstellt eine NewExpression, die den Aufruf des angegebenen Konstruktors mit den angegebenen Argumenten darstellt. Es werden die Member als Array angegeben, die auf die durch den Konstruktor initialisierten Felder zugreifen. |
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, auf das die Constructor-Eigenschaft festgelegt werden soll.
Gibt zurück
Ein NewExpression, bei dem die NodeType-Eigenschaft gleich New und die Constructor-Eigenschaft auf den angegebenen Wert festgelegt ist.
Ausnahmen
constructor
ist null
.
Der durch constructor
darstellte Konstruktor verfügt über mindestens einen Parameter.
Hinweise
Die Arguments Eigenschaften und Members der resultierenden NewExpression Auflistungen sind leere Auflistungen. Die Type -Eigenschaft stellt den deklarierenden Typ des durch constructor
dargestellten Konstruktors dar.
Gilt für:
New(Type)
- Quelle:
- NewExpression.cs
- Quelle:
- NewExpression.cs
- Quelle:
- NewExpression.cs
Erstellt eine NewExpression, die den Aufruf des Konstruktors vom angegebenen Typ ohne Parameter darstellt.
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, bei dem die NodeType-Eigenschaft gleich New ist und die Constructor-Eigenschaft auf die ConstructorInfo festgelegt ist, die den Konstruktor ohne Parameter für den angegebenen Typ darstellt.
Ausnahmen
type
ist null
.
Der durch type
darstellte Typ weist keinen Konstruktor ohne Parameter auf.
Beispiele
Im folgenden Beispiel wird veranschaulicht, wie mithilfe der New(Type) -Methode ein NewExpression erstellt wird, das das Erstellen eines neuen instance 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 type
Parameter muss einen Typ darstellen, der über einen Konstruktor ohne Parameter verfügt.
Die Arguments Eigenschaften und Members der resultierenden NewExpression Auflistungen 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 Aufruf des angegebenen Konstruktors mit den angegebenen Argumenten darstellt.
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, auf das die Constructor-Eigenschaft festgelegt werden soll.
- arguments
- IEnumerable<Expression>
Ein IEnumerable<T>, das Expression-Objekte enthält, mit denen die Arguments-Auflistung aufgefüllt werden soll.
Gibt zurück
Ein NewExpression, bei dem die NodeType-Eigenschaft gleich New ist und die Constructor-Eigenschaft sowie die Arguments-Eigenschaft auf die angegebenen Werte festgelegt sind.
Ausnahmen
Der arguments
-Parameter enthält nicht dieselbe Anzahl an Elementen wie die Anzahl der Parameter für den durch constructor
dargestellten Konstruktor.
- oder -
Die Type-Eigenschaft eines Elements von arguments
kann nicht dem Typ des entsprechenden Parameters des Konstruktors zugewiesen werden, der durch constructor
dargestellt wird.
Hinweise
Der arguments
-Parameter muss die gleiche Anzahl von Elementen wie die Anzahl der Parameter für den Konstruktor enthalten, der durch dargestellt wird constructor
. Wenn arguments
ist null
, 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 durch constructor
dargestellten Konstruktors dar. 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 Aufruf des angegebenen Konstruktors mit den angegebenen Argumenten darstellt.
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, auf das die Constructor-Eigenschaft festgelegt werden soll.
- arguments
- Expression[]
Ein Array von Expression-Objekten, mit denen die Arguments-Auflistung aufgefüllt wird.
Gibt zurück
Ein NewExpression, bei dem die NodeType-Eigenschaft gleich New ist und die Constructor-Eigenschaft sowie die Arguments-Eigenschaft auf die angegebenen Werte festgelegt sind.
Ausnahmen
Die Länge von arguments
entspricht der Anzahl von Parametern für den Konstruktor, der durch constructor
dargestellt wird.
- oder -
Die Type-Eigenschaft eines Elements von arguments
kann nicht dem Typ des entsprechenden Parameters des Konstruktors zugewiesen werden, der durch constructor
dargestellt wird.
Hinweise
Der arguments
-Parameter muss die gleiche Anzahl von Elementen wie die Anzahl der Parameter für den Konstruktor enthalten, der durch dargestellt wird constructor
. Wenn arguments
ist null
, 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 durch constructor
dargestellten Konstruktors dar. 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 Aufruf des angegebenen Konstruktors mit den angegebenen Argumenten darstellt. Es werden die Member angegeben, die auf die durch den Konstruktor initialisierten Felder zugreifen.
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, auf das die Constructor-Eigenschaft festgelegt werden soll.
- arguments
- IEnumerable<Expression>
Ein IEnumerable<T>, das Expression-Objekte enthält, mit denen die Arguments-Auflistung aufgefüllt werden soll.
- members
- IEnumerable<MemberInfo>
Ein IEnumerable<T>, das MemberInfo-Objekte enthält, mit denen die Members-Auflistung aufgefüllt werden soll.
Gibt zurück
Ein NewExpression, bei dem die NodeType-Eigenschaft gleich New ist und die Eigenschaften Constructor, Arguments und Members auf die angegebenen Werte festgelegt sind.
Ausnahmen
constructor
ist null
.
- oder -
Ein Element von arguments
ist null
.
- oder -
Ein Element von members
ist null
.
Der arguments
-Parameter enthält nicht dieselbe Anzahl an Elementen wie die Anzahl der Parameter für den durch constructor
dargestellten Konstruktor.
- oder -
Die Type-Eigenschaft eines Elements von arguments
kann nicht dem Typ des entsprechenden Parameters des Konstruktors zugewiesen werden, der durch constructor
dargestellt wird.
- oder -
Der members
-Parameter weist nicht die gleiche Anzahl an Elementen auf wie arguments
.
- oder -
Ein Element von arguments
weist eine Type-Eigenschaft auf, die einen Typ darstellt, der nicht dem Typ des Members zugeordnet werden kann, der durch das entsprechende Element von members
dargestellt wird.
Hinweise
Der arguments
-Parameter muss die gleiche Anzahl von Elementen wie die Anzahl der Parameter für den Konstruktor enthalten, der durch dargestellt wird constructor
. Wenn arguments
ist null
, wird sie als leer betrachtet, und die Arguments Eigenschaft der resultierenden NewExpression ist eine leere Auflistung.
Wenn members
ist null
, ist die Members -Eigenschaft der resultierenden NewExpression eine leere Auflistung. Wenn members
nicht null
, muss es die gleiche Anzahl von Elementen wie arguments
aufweisen, und jedes Element darf nicht sein null
. Jedes Element von members
muss ein PropertyInfooder FieldInfoMethodInfo sein, das ein instance Member auf dem deklarierenden Typ des durch constructor
dargestellten Konstruktors darstellt. 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 Typ des Members zugewiesen werden kann, den das members
Element darstellt.
Die Type -Eigenschaft des resultierenden NewExpression stellt den deklarierenden Typ des Konstruktors dar, constructor
der darstellt.
Gilt für:
New(ConstructorInfo, IEnumerable<Expression>, MemberInfo[])
- Quelle:
- NewExpression.cs
- Quelle:
- NewExpression.cs
- Quelle:
- NewExpression.cs
Erstellt eine NewExpression, die den Aufruf des angegebenen Konstruktors mit den angegebenen Argumenten darstellt. Es werden die Member als Array angegeben, die auf die durch den Konstruktor initialisierten Felder zugreifen.
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, auf das die Constructor-Eigenschaft festgelegt werden soll.
- arguments
- IEnumerable<Expression>
Ein IEnumerable<T>, das Expression-Objekte enthält, mit denen die Arguments-Auflistung aufgefüllt werden soll.
- members
- MemberInfo[]
Ein Array von MemberInfo-Objekten, mit denen die Members-Auflistung aufgefüllt wird.
Gibt zurück
Ein NewExpression, bei dem die NodeType-Eigenschaft gleich New ist und die Eigenschaften Constructor, Arguments und Members auf die angegebenen Werte festgelegt sind.
Ausnahmen
constructor
ist null
.
- oder -
Ein Element von arguments
ist null
.
- oder -
Ein Element von members
ist null
.
Der arguments
-Parameter enthält nicht dieselbe Anzahl an Elementen wie die Anzahl der Parameter für den durch constructor
dargestellten Konstruktor.
- oder -
Die Type-Eigenschaft eines Elements von arguments
kann nicht dem Typ des entsprechenden Parameters des Konstruktors zugewiesen werden, der durch constructor
dargestellt wird.
- oder -
Der members
-Parameter weist nicht die gleiche Anzahl an Elementen auf wie arguments
.
- oder -
Ein Element von arguments
weist eine Type-Eigenschaft auf, die einen Typ darstellt, der nicht dem Typ des Members zugeordnet werden kann, der durch das entsprechende Element von members
dargestellt wird.
Hinweise
Der arguments
Parameter muss die gleiche Anzahl von Elementen wie die Anzahl der Parameter für den durch constructor
dargestellten Konstruktor enthalten. Wenn arguments
ist null
, wird er als leer betrachtet, und die Arguments -Eigenschaft der resultierenden NewExpression ist eine leere Auflistung.
Wenn members
ist null
, ist die Members -Eigenschaft der resultierenden NewExpression eine leere Auflistung. Wenn members
nicht null
ist, muss es die gleiche Anzahl von Elementen wie arguments
aufweisen, und jedes Element darf nicht sein null
. Jedes Element von members
muss ein PropertyInfooder sein, MethodInfoFieldInfo das ein instance-Member für den deklarierenden Typ des durch constructor
dargestellten Konstruktors darstellt. 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 Typ des Members zugewiesen werden kann, den das members
Element darstellt.
Die Type -Eigenschaft des resultierenden NewExpression stellt den deklarierenden Typ des Konstruktors dar, constructor
der darstellt.