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

ListInitExpression-Klasse

 

Veröffentlicht: Oktober 2016

Stellt einen Konstruktoraufruf mit einem Auflistungsinitialisierer dar.

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

System.Object
  System.Linq.Expressions.Expression
    System.Linq.Expressions.ListInitExpression

public sealed class ListInitExpression : Expression

NameBeschreibung
System_CAPS_pubpropertyCanReduce

Ruft einen Wert, der angibt, ob der Ausdrucksstrukturknoten reduziert werden kann.(Überschreibt Expression.CanReduce.)

System_CAPS_pubpropertyInitializers

Ruft die Elementinitialisierer, die verwendet werden, um eine Auflistung zu initialisieren.

System_CAPS_pubpropertyNewExpression

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

System_CAPS_pubpropertyNodeType

Gibt den Knotentyp dieses Expression zurück.(Überschreibt Expression.NodeType.)

System_CAPS_pubpropertyType

Ruft den statischen Typ des Ausdrucks ab, den dieser Expression darstellt.(Überschreibt Expression.Type.)

NameBeschreibung
System_CAPS_protmethodAccept(ExpressionVisitor)

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

System_CAPS_pubmethodEquals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.(Geerbt von „Object“.)

System_CAPS_pubmethodGetHashCode()

Fungiert als die Standardhashfunktion.(Geerbt von „Object“.)

System_CAPS_pubmethodGetType()

Ruft den Type der aktuellen Instanz ab.(Geerbt von „Object“.)

System_CAPS_pubmethodReduce()

Reduziert die binären Ausdruck-Knoten zu einem einfacheren Ausdruck.(Überschreibt Expression.Reduce().)

System_CAPS_pubmethodReduceAndCheck()

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“.)

System_CAPS_pubmethodReduceExtensions()

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“.)

System_CAPS_pubmethodToString()

Gibt eine Textdarstellung des Expression zurück.(Geerbt von „Expression“.)

System_CAPS_pubmethodUpdate(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.

System_CAPS_protmethodVisitChildren(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“.)

Verwenden der ListInit Factorymethoden zum Erstellen einer ListInitExpression.

Der Wert des der NodeType Eigenschaft ein ListInitExpression ist ListInit.

Das folgende Beispiel erstellt eine ListInitExpression die die Initialisierung einer neuen Wörterbuchinstanz, das zwei Schlüssel-Wert-Paaren 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")}

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

Alle öffentlichen statischen Member ( Shared in Visual Basic) dieses Typs sind threadsicher. Die Threadsicherheit für Instanzmember ist nicht garantiert.

Zurück zum Anfang
Anzeigen: