Expression.ListInit Methode

Definition

Erstellt eine ListInitExpression.

Überlädt

ListInit(NewExpression, IEnumerable<ElementInit>)

Erstellt eine ListInitExpression, die die angegebenen ElementInit-Objekte verwendet, um eine Auflistung zu initialisieren.

ListInit(NewExpression, IEnumerable<Expression>)

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

ListInit(NewExpression, ElementInit[])

Erstellt eine ListInitExpression, die die angegebenen ElementInit-Objekte verwendet, um eine Auflistung zu initialisieren.

ListInit(NewExpression, Expression[])

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

ListInit(NewExpression, MethodInfo, IEnumerable<Expression>)

Erstellt eine ListInitExpression, die eine angegebene Methode verwendet, um einer Auflistung Elemente hinzuzufügen.

ListInit(NewExpression, MethodInfo, Expression[])

Erstellt eine ListInitExpression, die eine angegebene Methode verwendet, um einer Auflistung Elemente hinzuzufügen.

ListInit(NewExpression, IEnumerable<ElementInit>)

Erstellt eine ListInitExpression, die die angegebenen ElementInit-Objekte verwendet, um eine Auflistung zu initialisieren.

public:
 static System::Linq::Expressions::ListInitExpression ^ ListInit(System::Linq::Expressions::NewExpression ^ newExpression, System::Collections::Generic::IEnumerable<System::Linq::Expressions::ElementInit ^> ^ initializers);
public static System.Linq.Expressions.ListInitExpression ListInit (System.Linq.Expressions.NewExpression newExpression, System.Collections.Generic.IEnumerable<System.Linq.Expressions.ElementInit> initializers);
static member ListInit : System.Linq.Expressions.NewExpression * seq<System.Linq.Expressions.ElementInit> -> System.Linq.Expressions.ListInitExpression
Public Shared Function ListInit (newExpression As NewExpression, initializers As IEnumerable(Of ElementInit)) As ListInitExpression

Parameter

newExpression
NewExpression

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

initializers
IEnumerable<ElementInit>

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

Gibt zurück

ListInitExpression

Ein ListInitExpression, bei dem die NodeType-Eigenschaft gleich ListInit ist und die NewExpression-Eigenschaft sowie die Initializers-Eigenschaft auf die angegebenen Werte festgelegt sind.

Ausnahmen

newExpression oder initializers ist null.

- oder - Mindestens ein Element von initializers ist null.

newExpression.Type implementiert nicht IEnumerable.

Beispiele

Im folgenden Beispiel wird veranschaulicht, wie Sie die ListInit(NewExpression, ElementInit[]) Methode zum Erstellen ListInitExpression einer Methode verwenden, die die Initialisierung einer neuen Wörterbuchinstanz mit zwei Schlüsselwertpaaren darstellt.

string tree1 = "maple";
string tree2 = "oak";

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

// Create two ElementInit objects that represent the
// two key-value pairs to add to the Dictionary.
System.Linq.Expressions.ElementInit elementInit1 =
    System.Linq.Expressions.Expression.ElementInit(
        addMethod,
        System.Linq.Expressions.Expression.Constant(tree1.Length),
        System.Linq.Expressions.Expression.Constant(tree1));
System.Linq.Expressions.ElementInit elementInit2 =
    System.Linq.Expressions.Expression.ElementInit(
        addMethod,
        System.Linq.Expressions.Expression.Constant(tree2.Length),
        System.Linq.Expressions.Expression.Constant(tree2));

// 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>));

// Create a ListInitExpression that represents initializing
// a new Dictionary<> instance with two key-value pairs.
System.Linq.Expressions.ListInitExpression listInitExpression =
    System.Linq.Expressions.Expression.ListInit(
        newDictionaryExpression,
        elementInit1,
        elementInit2);

Console.WriteLine(listInitExpression.ToString());

// This code produces the following output:
//
// new Dictionary`2() {Void Add(Int32, System.String)(5,"maple"),
// Void Add(Int32, System.String)(3,"oak")}
Dim tree1 As String = "maple"
Dim tree2 As String = "oak"

Dim addMethod As System.Reflection.MethodInfo = _
    Type.GetType("System.Collections.Generic.Dictionary`2[System.Int32, System.String]").GetMethod("Add")

' Create two ElementInit objects that represent the
' two key-value pairs to add to the Dictionary.
Dim elementInit1 As System.Linq.Expressions.ElementInit = _
    System.Linq.Expressions.Expression.ElementInit( _
        addMethod, _
        System.Linq.Expressions.Expression.Constant(tree1.Length), _
        System.Linq.Expressions.Expression.Constant(tree1))
Dim elementInit2 As System.Linq.Expressions.ElementInit = _
    System.Linq.Expressions.Expression.ElementInit( _
        addMethod, _
        System.Linq.Expressions.Expression.Constant(tree2.Length), _
        System.Linq.Expressions.Expression.Constant(tree2))

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

' Create a ListInitExpression that represents initializing
' a new Dictionary(Of T) instance with two key-value pairs.
Dim listInitExpression As System.Linq.Expressions.ListInitExpression = _
    System.Linq.Expressions.Expression.ListInit( _
        newDictionaryExpression, _
        elementInit1, _
        elementInit2)

Console.WriteLine(listInitExpression.ToString())

' This code produces the following output:
'
' new Dictionary`2() {Void Add(Int32, System.String)(5,"maple"),
' Void Add(Int32, System.String)(3,"oak")

Hinweise

Die Type Eigenschaft muss newExpression einen Typ darstellen, der implementiert IEnumerablewird.

Die Type Eigenschaft der resultierenden ListInitExpression eigenschaft ist gleich newExpression. Typ.

Gilt für

ListInit(NewExpression, IEnumerable<Expression>)

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

public:
 static System::Linq::Expressions::ListInitExpression ^ ListInit(System::Linq::Expressions::NewExpression ^ newExpression, System::Collections::Generic::IEnumerable<System::Linq::Expressions::Expression ^> ^ initializers);
public static System.Linq.Expressions.ListInitExpression ListInit (System.Linq.Expressions.NewExpression newExpression, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression> initializers);
static member ListInit : System.Linq.Expressions.NewExpression * seq<System.Linq.Expressions.Expression> -> System.Linq.Expressions.ListInitExpression
Public Shared Function ListInit (newExpression As NewExpression, initializers As IEnumerable(Of Expression)) As ListInitExpression

Parameter

newExpression
NewExpression

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

initializers
IEnumerable<Expression>

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

Gibt zurück

ListInitExpression

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

Ausnahmen

newExpression oder initializers ist null.

- oder - Mindestens ein Element von initializers ist null.

newExpression.Type implementiert nicht IEnumerable.

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.

Hinweise

Die Type Eigenschaft muss newExpression einen Typ darstellen, der implementiert IEnumerablewird.

Um diese Überladung von ListInit(NewExpression, IEnumerable<Expression>), zu verwenden . newExpression Der Typ oder der Basistyp muss eine einzelne Methode mit dem Namen "Add" (Groß- und Kleinschreibung) deklarieren, die genau ein Argument verwendet. Der Typ des Arguments muss vom Typ, der durch die Type Eigenschaft des ersten Elements dargestellt initializerswird, zugewiesen werden.

Die Initializers Eigenschaft des zurückgegebenen ListInitExpression Elements enthält ein Element des Typs ElementInit für jedes Element von initializers. Die Arguments Eigenschaft jedes Elements von Initializers ist eine Singleton-Auflistung, die das entsprechende Element enthält initializers. Die AddMethod Eigenschaft jedes Elements von Initializers stellt die Add-Methode dar, die auf newExpressiongefunden wurde. Geben Sie den Typ oder den Basistyp ein.

Die Type Eigenschaft der resultierenden ListInitExpression eigenschaft ist gleich newExpression. Typ.

Gilt für

ListInit(NewExpression, ElementInit[])

Erstellt eine ListInitExpression, die die angegebenen ElementInit-Objekte verwendet, um eine Auflistung zu initialisieren.

public:
 static System::Linq::Expressions::ListInitExpression ^ ListInit(System::Linq::Expressions::NewExpression ^ newExpression, ... cli::array <System::Linq::Expressions::ElementInit ^> ^ initializers);
public static System.Linq.Expressions.ListInitExpression ListInit (System.Linq.Expressions.NewExpression newExpression, params System.Linq.Expressions.ElementInit[] initializers);
static member ListInit : System.Linq.Expressions.NewExpression * System.Linq.Expressions.ElementInit[] -> System.Linq.Expressions.ListInitExpression
Public Shared Function ListInit (newExpression As NewExpression, ParamArray initializers As ElementInit()) As ListInitExpression

Parameter

newExpression
NewExpression

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

initializers
ElementInit[]

Ein Array von ElementInit-Objekten, mit denen die Initializers-Auflistung aufgefüllt wird.

Gibt zurück

ListInitExpression

Ein ListInitExpression, bei dem die NodeType-Eigenschaft gleich ListInit ist und die NewExpression-Eigenschaft sowie die Initializers-Eigenschaft auf die angegebenen Werte festgelegt sind.

Ausnahmen

newExpression oder initializers ist null.

- oder - Mindestens ein Element von initializers ist null.

newExpression.Type implementiert nicht IEnumerable.

Beispiele

Im folgenden Beispiel wird veranschaulicht, wie Sie die ListInit(NewExpression, ElementInit[]) Methode zum Erstellen ListInitExpression einer Methode verwenden, die die Initialisierung einer neuen Wörterbuchinstanz mit zwei Schlüsselwertpaaren darstellt.

string tree1 = "maple";
string tree2 = "oak";

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

// Create two ElementInit objects that represent the
// two key-value pairs to add to the Dictionary.
System.Linq.Expressions.ElementInit elementInit1 =
    System.Linq.Expressions.Expression.ElementInit(
        addMethod,
        System.Linq.Expressions.Expression.Constant(tree1.Length),
        System.Linq.Expressions.Expression.Constant(tree1));
System.Linq.Expressions.ElementInit elementInit2 =
    System.Linq.Expressions.Expression.ElementInit(
        addMethod,
        System.Linq.Expressions.Expression.Constant(tree2.Length),
        System.Linq.Expressions.Expression.Constant(tree2));

// 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>));

// Create a ListInitExpression that represents initializing
// a new Dictionary<> instance with two key-value pairs.
System.Linq.Expressions.ListInitExpression listInitExpression =
    System.Linq.Expressions.Expression.ListInit(
        newDictionaryExpression,
        elementInit1,
        elementInit2);

Console.WriteLine(listInitExpression.ToString());

// This code produces the following output:
//
// new Dictionary`2() {Void Add(Int32, System.String)(5,"maple"),
// Void Add(Int32, System.String)(3,"oak")}
Dim tree1 As String = "maple"
Dim tree2 As String = "oak"

Dim addMethod As System.Reflection.MethodInfo = _
    Type.GetType("System.Collections.Generic.Dictionary`2[System.Int32, System.String]").GetMethod("Add")

' Create two ElementInit objects that represent the
' two key-value pairs to add to the Dictionary.
Dim elementInit1 As System.Linq.Expressions.ElementInit = _
    System.Linq.Expressions.Expression.ElementInit( _
        addMethod, _
        System.Linq.Expressions.Expression.Constant(tree1.Length), _
        System.Linq.Expressions.Expression.Constant(tree1))
Dim elementInit2 As System.Linq.Expressions.ElementInit = _
    System.Linq.Expressions.Expression.ElementInit( _
        addMethod, _
        System.Linq.Expressions.Expression.Constant(tree2.Length), _
        System.Linq.Expressions.Expression.Constant(tree2))

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

' Create a ListInitExpression that represents initializing
' a new Dictionary(Of T) instance with two key-value pairs.
Dim listInitExpression As System.Linq.Expressions.ListInitExpression = _
    System.Linq.Expressions.Expression.ListInit( _
        newDictionaryExpression, _
        elementInit1, _
        elementInit2)

Console.WriteLine(listInitExpression.ToString())

' This code produces the following output:
'
' new Dictionary`2() {Void Add(Int32, System.String)(5,"maple"),
' Void Add(Int32, System.String)(3,"oak")

Hinweise

Die Type Eigenschaft muss newExpression einen Typ darstellen, der implementiert IEnumerablewird.

Die Type Eigenschaft der resultierenden ListInitExpression eigenschaft ist gleich newExpression. Typ.

Gilt für

ListInit(NewExpression, Expression[])

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

public:
 static System::Linq::Expressions::ListInitExpression ^ ListInit(System::Linq::Expressions::NewExpression ^ newExpression, ... cli::array <System::Linq::Expressions::Expression ^> ^ initializers);
public static System.Linq.Expressions.ListInitExpression ListInit (System.Linq.Expressions.NewExpression newExpression, params System.Linq.Expressions.Expression[] initializers);
static member ListInit : System.Linq.Expressions.NewExpression * System.Linq.Expressions.Expression[] -> System.Linq.Expressions.ListInitExpression
Public Shared Function ListInit (newExpression As NewExpression, ParamArray initializers As Expression()) As ListInitExpression

Parameter

newExpression
NewExpression

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

initializers
Expression[]

Ein Array von Expression-Objekten, mit denen die Initializers-Auflistung aufgefüllt wird.

Gibt zurück

ListInitExpression

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

Ausnahmen

newExpression oder initializers ist null.

- oder - Mindestens ein Element von initializers ist null.

newExpression.Type implementiert nicht IEnumerable.

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.

Hinweise

Die Type Eigenschaft muss newExpression einen Typ darstellen, der implementiert IEnumerablewird.

Um diese Überladung von ListInit(NewExpression, Expression[]), zu verwenden . newExpression Der Typ oder der Basistyp muss eine einzelne Methode mit dem Namen "Add" (Groß- und Kleinschreibung) deklarieren, die genau ein Argument verwendet. Der Typ des Arguments muss vom Typ, der durch die Type Eigenschaft des ersten Elements dargestellt initializerswird, zugewiesen werden.

Die Initializers Eigenschaft des zurückgegebenen ListInitExpression Elements enthält ein Element des Typs ElementInit für jedes Element von initializers. Die Arguments Eigenschaft jedes Elements von Initializers ist eine Singleton-Auflistung, die das entsprechende Element enthält initializers. Die AddMethod Eigenschaft jedes Elements von Initializers stellt die Add-Methode dar, die auf newExpressiongefunden wurde. Geben Sie den Typ oder den Basistyp ein.

Die Type Eigenschaft der resultierenden ListInitExpression eigenschaft ist gleich newExpression. Typ.

Gilt für

ListInit(NewExpression, MethodInfo, IEnumerable<Expression>)

Erstellt eine ListInitExpression, die eine angegebene Methode verwendet, um einer Auflistung Elemente hinzuzufügen.

public:
 static System::Linq::Expressions::ListInitExpression ^ ListInit(System::Linq::Expressions::NewExpression ^ newExpression, System::Reflection::MethodInfo ^ addMethod, System::Collections::Generic::IEnumerable<System::Linq::Expressions::Expression ^> ^ initializers);
public static System.Linq.Expressions.ListInitExpression ListInit (System.Linq.Expressions.NewExpression newExpression, System.Reflection.MethodInfo addMethod, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression> initializers);
public static System.Linq.Expressions.ListInitExpression ListInit (System.Linq.Expressions.NewExpression newExpression, System.Reflection.MethodInfo? addMethod, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression> initializers);
static member ListInit : System.Linq.Expressions.NewExpression * System.Reflection.MethodInfo * seq<System.Linq.Expressions.Expression> -> System.Linq.Expressions.ListInitExpression
Public Shared Function ListInit (newExpression As NewExpression, addMethod As MethodInfo, initializers As IEnumerable(Of Expression)) As ListInitExpression

Parameter

newExpression
NewExpression

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

addMethod
MethodInfo

Eine MethodInfo, die eine Instanzmethode namens "Add" (Groß-/Kleinschreibung wird nicht berücksichtigt) darstellt, die einer Auflistung ein Element hinzufügt.

initializers
IEnumerable<Expression>

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

Gibt zurück

ListInitExpression

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

Ausnahmen

newExpression oder initializers ist null.

- oder - Mindestens ein Element von initializers ist null.

newExpression.Type implementiert nicht IEnumerable.

- oder - addMethod ist nicht null und stellt keine Instanzmethode mit dem Namen "Add" (Groß-/Kleinschreibung wird nicht berücksichtigt) dar, die genau ein Argument akzeptiert.

- oder - addMethod ist nicht null, und der durch die Type-Eigenschaft dargestellte Typ einer oder mehrerer Elemente von initializers kann nicht dem Argumenttyp der durch addMethod dargestellten Methode zugeordnet werden.

addMethod ist null, und in newExpression.Type oder seinem Basistyp ist keine Instanzmethode mit dem Namen "Add" vorhanden, die genau ein typkompatibles Argument akzeptiert.

Hinweise

Die Type Eigenschaft muss newExpression einen Typ darstellen, der implementiert IEnumerablewird.

If addMethod is null, newExpression. Der Typ oder der Basistyp muss eine einzelne Methode mit dem Namen "Add" (Groß- und Kleinschreibung) deklarieren, die genau ein Argument verwendet. Wenn addMethod nicht null, muss es eine Instanzmethode namens "Add" (Groß-/Kleinschreibung) darstellen, die genau einen Parameter enthält. Der Typ, der durch die Type Eigenschaft jedes Elements initializers dargestellt wird, muss dem Argumenttyp der Add-Methode zugewiesen werden.

Die Initializers Eigenschaft des zurückgegebenen ListInitExpression Elements enthält ein Element des Typs ElementInit für jedes Element von initializers. Die Arguments Eigenschaft jedes Elements von Initializers ist eine Singleton-Auflistung, die das entsprechende Element enthält initializers. Die AddMethod Eigenschaft jedes Elements ist Initializers gleich addMethod.

Die Type Eigenschaft der resultierenden ListInitExpression eigenschaft ist gleich newExpression. Typ.

Gilt für

ListInit(NewExpression, MethodInfo, Expression[])

Erstellt eine ListInitExpression, die eine angegebene Methode verwendet, um einer Auflistung Elemente hinzuzufügen.

public:
 static System::Linq::Expressions::ListInitExpression ^ ListInit(System::Linq::Expressions::NewExpression ^ newExpression, System::Reflection::MethodInfo ^ addMethod, ... cli::array <System::Linq::Expressions::Expression ^> ^ initializers);
public static System.Linq.Expressions.ListInitExpression ListInit (System.Linq.Expressions.NewExpression newExpression, System.Reflection.MethodInfo addMethod, params System.Linq.Expressions.Expression[] initializers);
public static System.Linq.Expressions.ListInitExpression ListInit (System.Linq.Expressions.NewExpression newExpression, System.Reflection.MethodInfo? addMethod, params System.Linq.Expressions.Expression[] initializers);
static member ListInit : System.Linq.Expressions.NewExpression * System.Reflection.MethodInfo * System.Linq.Expressions.Expression[] -> System.Linq.Expressions.ListInitExpression
Public Shared Function ListInit (newExpression As NewExpression, addMethod As MethodInfo, ParamArray initializers As Expression()) As ListInitExpression

Parameter

newExpression
NewExpression

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

addMethod
MethodInfo

Eine MethodInfo, die eine Instanzmethode darstellt, die ein Argument akzeptiert und einer Auflistung ein Element hinzufügt.

initializers
Expression[]

Ein Array von Expression-Objekten, mit denen die Initializers-Auflistung aufgefüllt wird.

Gibt zurück

ListInitExpression

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

Ausnahmen

newExpression oder initializers ist null.

- oder - Mindestens ein Element von initializers ist null.

newExpression.Type implementiert nicht IEnumerable.

- oder - addMethod ist nicht null und stellt keine Instanzmethode mit dem Namen "Add" (Groß-/Kleinschreibung wird nicht berücksichtigt) dar, die genau ein Argument akzeptiert.

- oder - addMethod ist nicht null, und der durch die Type-Eigenschaft dargestellte Typ einer oder mehrerer Elemente von initializers kann nicht dem Argumenttyp der durch addMethod dargestellten Methode zugeordnet werden.

addMethod ist null, und in newExpression.Type oder seinem Basistyp ist keine Instanzmethode mit dem Namen "Add" vorhanden, die genau ein typkompatibles Argument akzeptiert.

Hinweise

Die Type Eigenschaft muss newExpression einen Typ darstellen, der implementiert IEnumerablewird.

If addMethod is null, newExpression. Der Typ oder der Basistyp muss eine einzelne Methode mit dem Namen "Add" (Groß- und Kleinschreibung) deklarieren, die genau ein Argument verwendet. Wenn addMethod nicht null, muss es eine Instanzmethode namens "Add" (Groß-/Kleinschreibung) darstellen, die genau einen Parameter enthält. Der Typ, der durch die Type Eigenschaft jedes Elements initializers dargestellt wird, muss dem Argumenttyp der Add-Methode zugewiesen werden.

Die Initializers Eigenschaft des zurückgegebenen ListInitExpression Elements enthält ein Element des Typs ElementInit für jedes Element von initializers. Die Arguments Eigenschaft jedes Elements von Initializers ist eine Singleton-Auflistung, die das entsprechende Element enthält initializers. Die AddMethod Eigenschaft jedes Elements ist Initializers gleich addMethod.

Die Type Eigenschaft der resultierenden ListInitExpression eigenschaft ist gleich newExpression. Typ.

Gilt für