Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

Expression.ListInit-Methode: (NewExpression, IEnumerable<Expression>)

 

Erstellt eine ListInitExpression, die eine Methode mit dem Namen "Add" verwendet, um einer Auflistung Elemente hinzuzufügen.

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

public static ListInitExpression ListInit(
	NewExpression newExpression,
	IEnumerable<Expression> initializers
)

Parameter

newExpression
Type: System.Linq.Expressions.NewExpression

Ein NewExpression, auf das die NewExpression-Eigenschaft festgelegt werden soll.

initializers
Type: System.Collections.Generic.IEnumerable<Expression>

Ein IEnumerable<T>, das Expression-Objekte enthält, mit denen die Initializers-Auflistung aufgefüllt werden soll.

Rückgabewert

Type: System.Linq.Expressions.ListInitExpression

Ein ListInitExpression, bei dem die NodeType-Eigenschaft gleich ListInit und die NewExpression-Eigenschaft auf den angegebenen Wert festgelegt ist.

Exception Condition
ArgumentNullException

newExpression oder initializers ist null.

- oder -

Mindestens ein Element von initializers ist null.

ArgumentException

newExpression.Type implementiert nicht IEnumerable.

InvalidOperationException

Es ist keine Instanzmethode namens „Add“ (ohne Beachtung der Groß-/Kleinschreibung) in newExpression.Type oder dessen Basistyp deklariert.

- oder -

Die Add-Methode in newExpression.Type oder dessen Basistyp nimmt nicht genau ein Argument entgegen.

- oder -

Der durch die Type-Eigenschaft dargestellte Typ des ersten Elements von initializers lässt sich nicht dem Argumenttyp der Add-Methode in newExpression.Type oder dessen Basistyp zuweisen.

- oder -

Mehrere argumentkompatible Methoden namens „Add“ (ohne Beachtung der Groß-/Kleinschreibung) sind in newExpression.Type und/oder dessen Basistyp vorhanden.

The P:System.Linq.Expressions.Expression.Type property of newExpression must represent a type that implements T:System.Collections.IEnumerable.

In order to use this overload of M:System.Linq.Expressions.Expression.ListInit(System.Linq.Expressions.NewExpression,System.Collections.Generic.IEnumerable{System.Linq.Expressions.Expression}), newExpression.Type or its base type must declare a single method named "Add" (case insensitive) that takes exactly one argument. The type of the argument must be assignable from the type represented by the P:System.Linq.Expressions.Expression.Type property of the first element of initializers.

The P:System.Linq.Expressions.ListInitExpression.Initializers property of the returned T:System.Linq.Expressions.ListInitExpression contains one element of type T:System.Linq.Expressions.ElementInit for each element of initializers. The P:System.Linq.Expressions.ElementInit.Arguments property of each element of P:System.Linq.Expressions.ListInitExpression.Initializers is a singleton collection that contains the corresponding element of initializers. The P:System.Linq.Expressions.ElementInit.AddMethod property of each element of P:System.Linq.Expressions.ListInitExpression.Initializers represents the add method that was discovered on newExpression.Type or its base type.

The P:System.Linq.Expressions.Expression.Type property of the resulting T:System.Linq.Expressions.ListInitExpression is equal to newExpression.Type.

Universelle Windows-Plattform
Verfügbar seit 8
.NET Framework
Verfügbar seit 3.5
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.0
Windows Phone
Verfügbar seit 8.1
Zurück zum Anfang
Anzeigen: