Auf Englisch lesen

Freigeben über


ListInitExpression Klasse

Definition

Stellt einen Konstruktoraufruf mit einem Auflistungsinitialisierer dar.

C#
public sealed class ListInitExpression : System.Linq.Expressions.Expression
Vererbung
ListInitExpression

Beispiele

Im folgenden Beispiel wird eine ListInitExpression erstellt, die die Initialisierung eines neuen Wörterbuchs instance mit zwei Schlüssel-Wert-Paaren darstellt.

C#
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")}

Hinweise

Verwenden Sie die ListInit Factorymethoden, um eine ListInitExpressionzu erstellen.

Der Wert der NodeType -Eigenschaft eines ListInitExpression ist ListInit.

Eigenschaften

CanReduce

Ruft einen Wert ab, der angibt, ob der Knoten der Ausdrucksbaumstruktur reduziert werden kann.

CanReduce

Gibt an, dass der Knoten zu einem einfacheren Knoten reduziert werden kann. Wenn true zurückgegeben wird, kann Reduce() aufgerufen werden, um das reduzierte Formular zu erzeugen.

(Geerbt von Expression)
Initializers

Ruft die Elementinitialisierer ab, die zum Initialisieren einer Auflistung verwendet werden.

NewExpression

Ruft den Ausdruck ab, der einen Aufruf des Konstruktors für einen Auflistungstyp enthält.

NodeType

Gibt den Knotentyp dieses Expression zurück.

NodeType

Ruft den Knotentyp dieses Expression ab.

(Geerbt von Expression)
Type

Ruft den statischen Typ des Ausdrucks ab, den dieser Expression darstellt.

Type

Ruft den statischen Typ des Ausdrucks ab, den dieser Expression darstellt.

(Geerbt von Expression)

Methoden

Accept(ExpressionVisitor)

Sendet an die spezifische Visit-Methode für diesen Knotentyp. Beispielsweise ruft MethodCallExpression die Methode VisitMethodCall(MethodCallExpression) auf.

(Geerbt von Expression)
Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
Reduce()

Reduziert auf den binären Ausdrucksknoten auf einen einfacheren Ausdruck.

Reduce()

Reduziert diesen Knoten zu einem einfacheren Ausdruck. Wenn CanReduce true zurückgibt, sollte ein gültiger Ausdruck zurückgegeben werden. Diese Methode kann einen anderen Knoten zurückgeben, der selbst reduziert werden muss.

(Geerbt von Expression)
ReduceAndCheck()

Reduziert diesen Knoten zu einem einfacheren Ausdruck. Wenn CanReduce true zurückgibt, sollte ein gültiger Ausdruck zurückgegeben werden. Diese Methode kann einen anderen Knoten zurückgeben, der selbst reduziert werden muss.

(Geerbt von Expression)
ReduceExtensions()

Reduziert den Ausdruck zu einem bekannten Knotentyp (kein Erweiterungsknoten) oder gibt nur den Ausdruck zurück, wenn es sich um einen bereits bekannten Typ handelt.

(Geerbt von Expression)
ToString()

Gibt eine Textdarstellung des Expression zurück.

(Geerbt von Expression)
Update(NewExpression, IEnumerable<ElementInit>)

Erstellt einen neuen Ausdruck, der diesem ähnelt, verwendet jedoch die angegebenen untergeordneten Elemente. Wenn alle untergeordneten Elemente identisch sind, wird dieser Ausdruck zurückgegeben.

VisitChildren(ExpressionVisitor)

Reduziert den Knoten und ruft dann den Visitor-Delegaten für den reduzierten Ausdruck auf. Die Methode löst eine Ausnahme aus, wenn der Knoten nicht reduziert werden kann.

(Geerbt von Expression)

Gilt für:

Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0