Exportieren (0) Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

LambdaExpression-Klasse

Beschreibt einen Lambdaausdruck. Zeichnet einen Codeblock auf, der mit einem .NET-Methodentext vergleichbar ist.

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

public abstract class LambdaExpression : Expression

Der LambdaExpression-Typ macht die folgenden Member verfügbar.

  NameBeschreibung
Öffentliche EigenschaftUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsBodyRuft den Text des Lambdaausdrucks ab.
Öffentliche EigenschaftUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsCanReduceGibt 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. (Von Expression geerbt.)
Öffentliche EigenschaftUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsNameRuft den Namen des Lambdaausdrucks ab.
Öffentliche EigenschaftUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsNodeTypeGibt den Knotentyp dieses Expression zurück. (Überschreibt Expression.NodeType.)
Öffentliche EigenschaftUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsParametersRuft die Parameter des Lambdaausdrucks ab.
Öffentliche EigenschaftUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsReturnTypeRuft den Rückgabetyp des Lambdaausdrucks ab.
Öffentliche EigenschaftUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsTailCallRuft den Wert ab, der angibt, ob der Lambdaausdruck mit der Endeaufrufoptimierung kompiliert wird.
Öffentliche EigenschaftUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsTypeRuft den statischen Typ des Ausdrucks ab, den diese Expression darstellt. (Überschreibt Expression.Type.)
Zum Seitenanfang

  NameBeschreibung
Geschützte MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsAcceptSendet an die spezifische Visit-Methode für diesen Knotentyp. Beispielsweise wird VisitMethodCall von MethodCallExpression aufgerufen. (Von Expression geerbt.)
Öffentliche MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsCompile()Erzeugt einen Delegaten, der den Lambdaausdruck darstellt.
Öffentliche MethodeCompile(DebugInfoGenerator)Erzeugt einen Delegaten, der den Lambdaausdruck darstellt.
Öffentliche MethodeCompileToMethod(MethodBuilder)Kompiliert den Lambdaausdruck in eine Methodendefinition.
Öffentliche MethodeCompileToMethod(MethodBuilder, DebugInfoGenerator)Kompiliert den Lambdaausdruck in eine Methodendefinition und benutzerdefinierte Debuginformationen.
Öffentliche MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsEquals(Object)Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist. (Von Object geerbt.)
Geschützte MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsFinalize Gibt einem Objekt Gelegenheit, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der Garbage Collection freigegeben wird. (Von Object geerbt.)
Öffentliche MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsGetHashCodeFungiert als die Standardhashfunktion. (Von Object geerbt.)
Öffentliche MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsGetTypeRuft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Geschützte MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsMemberwiseCloneErstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.)
Öffentliche MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsReduceReduziert 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. (Von Expression geerbt.)
Öffentliche MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsReduceAndCheckReduziert 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. (Von Expression geerbt.)
Öffentliche MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsReduceExtensionsReduziert den Ausdruck zu einem bekannten Knotentyp (kein Erweiterungsknoten) oder gibt nur den Ausdruck zurück, wenn es sich um einen bereits bekannten Typ handelt. (Von Expression geerbt.)
Öffentliche MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsToStringGibt eine Textdarstellung der Expression zurück. (Von Expression geerbt.)
Geschützte MethodeUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsVisitChildrenReduziert 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. (Von Expression geerbt.)
Zum Seitenanfang

Der LambdaExpression-Typ stellt einen Lambdaausdruck in Form einer Ausdrucksbaumstruktur dar. Der Expression<TDelegate>-Typ, der von LambdaExpression abgeleitet ist und den Typ des Lambdaausdrucks expliziter aufzeichnet, kann zum Darstellen eines Lambdaausdrucks verwendet werden. Zur Laufzeit ist ein Knoten der Ausdrucksbaumstruktur, der einen Lambdaausdruck darstellt, immer vom Typ Expression<TDelegate>.

Der Wert der NodeType-Eigenschaft einer LambdaExpression ist Lambda.

Mit den Lambda-Factorymethoden können Sie ein LambdaExpression-Objekt erstellen.

Das folgende Codebeispiel veranschaulicht, wie eine Ausdrucksbaumstruktur, die einen Lambda-Ausdruck darstellt, der dem übergebenen Argument mithilfe der Lambda-Methode 1 hinzufügt.


// Add the following directive to your file:
// using System.Linq.Expressions;  

// A parameter for the lambda expression.
ParameterExpression paramExpr = Expression.Parameter(typeof(int), "arg");

// This expression represents a lambda expression
// that adds 1 to the parameter value.
LambdaExpression lambdaExpr = Expression.Lambda(
    Expression.Add(
        paramExpr,
        Expression.Constant(1)
    ),
    new List<ParameterExpression>() { paramExpr }
);

// Print out the expression.
Console.WriteLine(lambdaExpr);

// Compile and run the lamda expression.
// The value of the parameter is 1.
Console.WriteLine(lambdaExpr.Compile().DynamicInvoke(1));

// This code example produces the following output:
//
// arg => (arg +1)
// 2


.NET Framework

Unterstützt in: 4.5.2, 4.5.1, 4.5, 4, 3.5

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Portable Klassenbibliothek

Unterstützt in: Portable Klassenbibliothek

.NET für Windows Store-Apps

Unterstützt in: Windows 8

.NET für Windows Phone-Apps

Unterstützt in: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2015 Microsoft