Expression(TDelegate) Klasse
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

Expression<'TDelegate>-Klasse

.NET Framework (current version)
 

Stellt einen stark typisierten Lambdaausdruck als Datenstruktur in Form einer Ausdrucksbaumstruktur dar. Die Klasse erlaubt keine Vererbung.

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


[<Sealed>]
type Expression<'TDelegate> = 
    class
        inherit LambdaExpression
    end

Typparameter

TDelegate

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

NameBeschreibung
System_CAPS_pubpropertyBody

Ruft den Text des Lambdaausdrucks 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 Lambdaausdrucks ab.(Geerbt von LambdaExpression.)

System_CAPS_pubpropertyNodeType

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

System_CAPS_pubpropertyParameters

Ruft die Parameter des Lambdaausdrucks ab.(Geerbt von LambdaExpression.)

System_CAPS_pubpropertyReturnType

Ruft den Rückgabetyp des Lambdaausdrucks ab.(Geerbt von LambdaExpression.)

System_CAPS_pubpropertyTailCall

Ruft den Wert ab, der angibt, ob der Lambdaausdruck mit der Endeaufrufoptimierung kompiliert wird.(Geerbt von LambdaExpression.)

System_CAPS_pubpropertyType

Ruft den statischen Typ des Ausdrucks ab, den diese 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()

Kompiliert den von der Ausdrucksbaumstruktur beschriebenen Lambda-Ausdruck in ausführbaren Code und erzeugt einen Delegaten, der den Lambda-Ausdruck darstellt.

System_CAPS_pubmethodCompile(DebugInfoGenerator)

Erzeugt einen Delegaten, der den Lambdaausdruck 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 wie diesen, verwendet jedoch die angegebenen untergeordneten Elemente.Wenn alle untergeordneten Elemente übereinstimmen, wird der 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 Lambdaausdruck einer Variablen, einem Feld oder einem Parameter zugewiesen wird, deren bzw. dessen Typ Expression<'TDelegate> ist, gibt der Compiler Anweisungen zum Erstellen einer Ausdrucksbaumstruktur aus.

System_CAPS_noteHinweis

Eine Konvertierung aus einem Lambdaausdruck in den Typ Expression<D> (Expression(Of D) in Visual Basic) erfolgt, wenn eine Konvertierung aus dem Lambdaausdruck in einen Delegaten vom D ausgeführt wird.Möglicherweise tritt jedoch ein Fehler bei der Konvertierung auf, beispielsweise, wenn der Text des Lambdaausdrucks ein Block ist.Dies bedeutet, dass Delegaten und Ausdrucksbaumstrukturen ein ähnliches Verhalten in Bezug auf die Auflösung von Überladungen aufweisen.

Die Ausdrucksbaumstruktur ist eine speicherinterne Datendarstellung des Lambdaausdrucks.Durch die Ausdrucksbaumstruktur wird die Struktur des Lambdaausdrucks transparent und explizit festgelegt.Sie können mit den Daten in der Ausdrucksbaumstruktur ebenso wie mit jeder anderen Datenstruktur interagieren.

Durch die Fähigkeit, Ausdrücke als Datenstrukturen zu behandeln, können APIs Benutzercode in einem Format empfangen, das auf benutzerdefinierte Weise analysiert, transformiert und verarbeitet werden kann.Die LINQ to SQL-Datenzugriffsimplementierung nutzt diese Fähigkeit beispielsweise, um Ausdrucksbaumstrukturen in Transact-SQL-Anweisungen umzuwandeln, die von der Datenbank ausgewertet werden können.

Viele in der Queryable-Klasse definierte Standardabfrageoperatoren weisen einen oder mehrere Parameter vom Typ Expression<'TDelegate> auf.

Der NodeType einer Expression<'TDelegate> ist Lambda.

Erstellen Sie mithilfe der Lambda<'TDelegate>(Expression, IEnumerable<ParameterExpression>)-Methode oder der Lambda<'TDelegate>(Expression, ParameterExpression[])-Methode ein Expression<'TDelegate>-Objekt.

Im folgenden Codebeispiel wird veranschaulicht, wie ein Lambdaausdruck sowohl als ausführbarer Code in Form eines Delegaten als auch als Daten in Form einer Ausdrucksbaumstruktur dargestellt wird.Darüber hinaus wird veranschaulicht, wie die Ausdrucksbaumstruktur mithilfe der Compile-Methode zurück in ausführbaren Code umgewandelt wird.

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

Universal Windows Platform
Verfügbar seit 4.5
.NET Framework
Verfügbar seit 3.5
Portable Class Library
Unterstützt in: portable .NET platforms
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.0
Windows Phone
Verfügbar seit 8.1

Öffentliche statische (in Visual Basic freigegebene) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Zurück zum Anfang
Anzeigen:
© 2016 Microsoft