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

 

Veröffentlicht: Oktober 2016

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
Type: System.Reflection.MethodInfo

Ein MethodInfo, auf das die AddMethod-Eigenschaft festgelegt werden soll.

arguments
Type: System.Linq.Expressions.Expression[]

Ein Array von Expression-Objekten, auf das die Arguments-Eigenschaft festgelegt werden soll.

Rückgabewert

Type: System.Linq.Expressions.ElementInit

Ein ElementInit, bei dem die AddMethod-Eigenschaft und die Arguments-Eigenschaft auf die angegebenen Werte festgelegt sind.

Exception Condition
ArgumentNullException

addMethod oder arguments ist null.

ArgumentException

Die Methode, die durch AddMethod dargestellte nicht namens "Add" (Groß-/Kleinschreibung unterschieden).

- oder -

Die Methode, die durch AddMethod dargestellte handelt es sich nicht um eine Instanzmethode.

- oder -

Arguments enthält nicht die gleiche Anzahl von Elementen wie die Anzahl der Parameter für die Methode AddMethod darstellt.

- oder -

Die Type -Eigenschaft ein oder mehrere Elemente von arguments lässt sich nicht in den Typ des entsprechenden Parameters der Methode, die addMethod darstellt.

Die addMethod -Parameter muss eine Instanzmethode namens "Add" (Groß-/Kleinschreibung nicht berücksichtigt) darstellen. Die Add-Methode müssen die gleiche Anzahl von Parametern als die Anzahl der Elemente im arguments. Die Type -Eigenschaft jedes Elements im arguments muss dem Typ des entsprechenden Parameters der Add-Methode zugeordnet werden möglicherweise nach dem Zitieren.

System_CAPS_noteHinweis

Ein Element wird in Anführungszeichen eingeschlossen werden nur, wenn der entsprechende Methodenparameter des Typs Expression. Zitieren bedeutet, dass das Element umschließt ein Quote Knoten. Der resultierende Knoten ist ein UnaryExpression dessen Operand Eigenschaft ist für das Element der arguments.

Im folgenden Beispiel wird veranschaulicht, wie die ElementInit(MethodInfo, Expression[]) Methode zum Erstellen einer ElementInit Aufruf darstellt die Add Methode, um ein Element der Dictionary-Auflistung zu initialisieren.

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")

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: