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<TDelegate>-Klasse

 

Stellt einen stark typisierten lambda-Ausdruck als Datenstruktur in Form einer Ausdrucksbaumstruktur dar. Diese Klasse kann nicht vererbt werden.

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

System::Object
  System.Linq.Expressions::Expression
    System.Linq.Expressions::LambdaExpression
      System.Linq.Expressions::Expression<TDelegate>

generic<typename TDelegate>
public ref class Expression sealed : LambdaExpression

Typparameter

TDelegate

Der Typ des Delegaten, der Expression<'TDelegate> darstellt.

NameBeschreibung
System_CAPS_pubpropertyBody

Ruft den Text des Lambda-Ausdrucks ab.(Geerbt von „LambdaExpression“.)

System_CAPS_pubpropertyCanReduce

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

System_CAPS_pubpropertyName

Ruft den Namen des Lambda-Ausdrucks.(Geerbt von „LambdaExpression“.)

System_CAPS_pubpropertyNodeType

Gibt den Knotentyp dieses Expression zurück.(Geerbt von „LambdaExpression“.)

System_CAPS_pubpropertyParameters

Ruft die Parameter des Lambda-Ausdrucks.(Geerbt von „LambdaExpression“.)

System_CAPS_pubpropertyReturnType

Ruft den Rückgabetyp des Lambda-Ausdrucks ab.(Geerbt von „LambdaExpression“.)

System_CAPS_pubpropertyTailCall

Ruft den Wert, der angibt, ob der Lambda-Ausdruck mit der Tail-Call-Optimierung kompiliert wird.(Geerbt von „LambdaExpression“.)

System_CAPS_pubpropertyType

Ruft den statischen Typ des Ausdrucks ab, den dieser Expression darstellt.(Geerbt von „LambdaExpression“.)

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_pubmethodCompile()

Der Lambda-Ausdruck, der die Ausdrucksbaumstruktur in ausführbaren Code kompiliert und erzeugt einen Delegaten, der den Lambda-Ausdruck darstellt.

System_CAPS_pubmethodCompile(DebugInfoGenerator^)

Erstellt einen Delegaten, der den Lambda-Ausdruck darstellt.

System_CAPS_pubmethodCompileToMethod(MethodBuilder^)

Kompiliert den Lambdaausdruck in eine Methodendefinition.(Geerbt von „LambdaExpression“.)

System_CAPS_pubmethodCompileToMethod(MethodBuilder^, DebugInfoGenerator^)

Kompiliert den Lambdaausdruck in eine Methodendefinition und benutzerdefinierte Debuginformationen.(Geerbt von „LambdaExpression“.)

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 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_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(Expression^, IEnumerable<ParameterExpression^>^)

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

Wenn ein Lambda-Ausdruck zugewiesen wird, um eine Variable, Feld oder Parameter vom Typ Expression<'TDelegate>, gibt der Compiler Anweisungen, um eine Ausdrucksbaumstruktur zu erstellen.

System_CAPS_noteHinweis

Eine Konvertierung von einem Lambda-Ausdruck in den Typ Expression<D> (Expression(Of D) in Visual Basic) ist vorhanden, wenn eine Konvertierung von Lambda-Ausdrucks in einen Delegaten vom Typ D vorhanden ist. Allerdings kann die Konvertierung, z. B. fehl, wenn der Text des Lambda-Ausdrucks ein Block ist. Dies bedeutet, dass Delegaten und Ausdrucksbaumstrukturen in Bezug auf überladungsauflösung auf ähnliche Weise Verhalten.

Die Ausdrucksbaumstruktur ist eine Darstellung der Daten im Speicher des Lambda-Ausdrucks. Die Ausdrucksbaumstruktur wird die Struktur des Lambdaausdrucks transparent und explizit. Sie können mit den Daten in der Ausdrucksbaumstruktur ebenso wie mit jeder anderen Datenstruktur interagieren.

Die Möglichkeit, Ausdrücke als Datenstrukturen zu behandeln, können APIs Benutzercode in einem Format empfangen, die überprüft, transformiert und auf benutzerdefinierte Weise verarbeitet werden können. Zum Beispiel die LINQ to SQL Data Access-Implementierung verwendet diese Möglichkeit zum Übersetzen von Ausdrucksbaumstrukturen in Transact-SQL-Anweisungen, die von der Datenbank ausgewertet werden kann.

Viele Standardabfrageoperatoren, die gemäß der Queryable Klasse weisen eine oder mehrere Parameter vom Typ Expression<'TDelegate>.

Die NodeType von einem Expression<'TDelegate> ist Lambda.

Verwenden der Lambda<TDelegate>(Expression^, IEnumerable<ParameterExpression^>^) oder Lambda<TDelegate>(Expression^, array<ParameterExpression^>^) Methode zum Erstellen einer Expression<'TDelegate> Objekt.

Im folgenden Codebeispiel wird veranschaulicht, wie einen Lambdaausdruck sowohl als ausführbarer Code in Form eines Delegaten als Daten in Form einer Ausdrucksbaumstruktur darstellen. Außerdem wird veranschaulicht, wie die Ausdrucksbaumstruktur zurück in ausführbaren Code mithilfe der Compile Methode.

Derzeit ist kein Code Beispiel verfügbar, oder die Sprache wird nicht unterstützt.

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: