Exportieren (0) 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.ElementInit-Methode (MethodInfo, Expression[])

Erstellt ein ElementInit, dessen zweites Argument ein Wertearray ist.

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

public static ElementInit ElementInit(
	MethodInfo addMethod,
	params Expression[] arguments
)

Parameter

addMethod
Typ: System.Reflection.MethodInfo
Eine MethodInfo, auf die die AddMethod-Eigenschaft festgelegt werden soll.
arguments
Typ: System.Linq.Expressions.Expression[]
Ein Array von Expression-Objekten, auf das die Arguments-Eigenschaft festgelegt werden soll.

Rückgabewert

Typ: System.Linq.Expressions.ElementInit
Ein ElementInit, bei dem die AddMethod-Eigenschaft und die Arguments-Eigenschaft auf die angegebenen Werte festgelegt sind.

AusnahmeBedingung
ArgumentNullException

addMethod oder arguments ist null.

ArgumentException

Die durch addMethod dargestellte Methode weist nicht den Namen "Add" (Groß-/Kleinschreibung wird nicht berücksichtigt) auf.

- oder -

Die durch addMethod dargestellte Methode ist keine Instanzmethode.

- oder -

arguments enthält nicht dieselbe Anzahl von Elementen wie die Anzahl der Parameter für die durch addMethod dargestellte Methode.

- oder -

Die Type-Eigenschaft einer oder mehrerer Elemente von arguments kann nicht dem Typ des entsprechenden Parameters der durch addMethod dargestellten Methode zugeordnet werden.

Der addMethod-Parameter muss eine Instanzmethode mit dem Namen "Add" (Groß-/Kleinschreibung wird nicht berücksichtigt) darstellen. Die add-Methode muss über dieselbe Anzahl von Parametern wie die Anzahl von Elementen in arguments verfügen. Die Type-Eigenschaft jedes Elements in arguments muss dem Typ des entsprechenden Parameters der add-Methode zugeordnet werden können, möglicherweise nach dem Zitieren.

HinweisHinweis

Ein Element wird nur zitiert, wenn der entsprechende Methodenparameter den Typ Expression aufweist. Zitieren bedeutet, dass ein Quote-Knoten das Element umschließt. Der resultierende Knoten ist ein UnaryExpression, dessen Operand-Eigenschaft das Element von arguments ist.

Im folgenden Beispiel wird veranschaulicht, wie mit der ElementInit(MethodInfo, Expression[])-Methode ein ElementInit erstellt wird, das den Aufruf der Add-Methode zum Initialisieren eines Elements einer Wörterbuchauflistung darstellt.


string tree = "maple";

System.Reflection.MethodInfo addMethod = typeof(Dictionary<int, string>).GetMethod("Add");

// Create an ElementInit that represents calling
// Dictionary<int, string>.Add(tree.Length, tree).
System.Linq.Expressions.ElementInit elementInit =
    System.Linq.Expressions.Expression.ElementInit(
        addMethod,
        System.Linq.Expressions.Expression.Constant(tree.Length),
        System.Linq.Expressions.Expression.Constant(tree));

Console.WriteLine(elementInit.ToString());

// This code produces the following output:
//
// Void Add(Int32, System.String)(5,"maple")


.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:
© 2015 Microsoft