(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

Expression.New-Methode (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.

Namespace:  System.Linq.Expressions
Assembly:  System.Core (in System.Core.dll)

public static NewExpression New(
	ConstructorInfo constructor,
	IEnumerable<Expression> arguments,
	IEnumerable<MemberInfo> members
)

Parameter

constructor
Typ: System.Reflection.ConstructorInfo
Die ConstructorInfo, auf die die Constructor-Eigenschaft festgelegt werden soll.
arguments
Typ: System.Collections.Generic.IEnumerable<Expression>
Ein IEnumerable<T>, das Expression-Objekte enthält, mit denen die Arguments-Auflistung aufgefüllt werden soll.
members
Typ: System.Collections.Generic.IEnumerable<MemberInfo>
Ein IEnumerable<T>, das MemberInfo-Objekte enthält, mit denen die Members-Auflistung aufgefüllt werden soll.

Rückgabewert

Typ: System.Linq.Expressions.NewExpression
Eine NewExpression, bei der die NodeType-Eigenschaft gleich New ist und die Eigenschaften Constructor, Arguments und Members auf die angegebenen Werte festgelegt sind.

AusnahmeBedingung
ArgumentNullException

constructor ist null.

- oder -

Ein Element von arguments ist null.

- oder -

Ein Element von members ist null.

ArgumentException

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 durch constructor dargestellten Konstruktors zugeordnet werden.

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

Der arguments-Parameter muss dieselbe Anzahl an Elementen wie die Anzahl der Parameter für den durch constructor dargestellten Konstruktor enthalten. Wenn arguments gleich null ist, wird dieser Parameter als leer betrachtet, und die Arguments-Eigenschaft der resultierenden NewExpression ist eine leere Auflistung.

Wenn members gleich null ist, ist die Members-Eigenschaft der resultierenden NewExpression eine leere Auflistung. Wenn members nicht null ist, muss es dieselbe Anzahl an Elementen wie arguments aufweisen, und kein Element darf null sein. Jedes Element von members muss eine PropertyInfo, FieldInfo oder MethodInfo sein, die einen Instanzmember des deklarierenden Typs des durch constructor dargestellten Konstruktors darstellt. Wenn es eine Eigenschaft darstellt, muss die Eigenschaft über einen get-Accessor verfügen. Das jedem Element von members entsprechende Element von arguments muss eine Type-Eigenschaft aufweisen, die einen Typ darstellt, der dem Typ des Members zugeordnet werden kann, der durch das Element von members dargestellt wird.

Die Type-Eigenschaft der resultierenden NewExpression stellt den deklarierenden Typ des durch constructor dargestellten Konstruktors dar.

.NET Framework

Unterstützt in: 4.5.2, 4.5.1, 4.5, 4, 3.5

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Portable Klassenbibliothek

Unterstützt in: Portable Klassenbibliothek

.NET für Windows Store-Apps

Unterstützt in: Windows 8

.NET für Windows Phone-Apps

Unterstützt in: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft