LambdaExpression Klas

Definitie

Beschrijft een lambda-expressie. Hiermee wordt een codeblok vastgelegd dat lijkt op een .NET hoofdtekst van de methode.

public ref class LambdaExpression abstract : System::Linq::Expressions::Expression
public ref class LambdaExpression : System::Linq::Expressions::Expression
public abstract class LambdaExpression : System.Linq.Expressions.Expression
public class LambdaExpression : System.Linq.Expressions.Expression
type LambdaExpression = class
    inherit Expression
Public MustInherit Class LambdaExpression
Inherits Expression
Public Class LambdaExpression
Inherits Expression
Overname
LambdaExpression
Afgeleid

Voorbeelden

In het volgende voorbeeld ziet u hoe u een expressie maakt die een lambda-expressie vertegenwoordigt waarmee 1 wordt toegevoegd aan het doorgegeven argument met behulp van de Lambda methode.

// 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
' Add the following directive to your file:
' Imports System.Linq.Expressions  

' A parameter for the lambda expression.
Dim paramExpr As ParameterExpression = Expression.Parameter(GetType(Integer), "arg")

' This expression represents a lambda expression
' that adds 1 to the parameter value.
Dim lambdaExpr As LambdaExpression = Expression.Lambda(
        Expression.Add(
            paramExpr,
            Expression.Constant(1)
        ),
        New List(Of ParameterExpression)() From {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

Opmerkingen

Het LambdaExpression type vertegenwoordigt een lambda-expressie in de vorm van een expressiestructuur. Het Expression<TDelegate> type, dat is afgeleid van LambdaExpression en het type van de lambda-expressie explicieter vastlegt, kan ook worden gebruikt om een lambda-expressie weer te geven. Tijdens runtime is een expressiestructuurknooppunt dat een lambda-expressie vertegenwoordigt altijd van het type Expression<TDelegate>.

De waarde van de NodeType eigenschap van een LambdaExpression is Lambda.

Gebruik de Lambda factory-methoden om een LambdaExpression object te maken.

Eigenschappen

Name Description
Body

Haalt de hoofdtekst van de lambda-expressie op.

CanReduce

Geeft aan dat het knooppunt kan worden gereduceerd tot een eenvoudiger knooppunt. Als dit waar retourneert, kan Reduce() worden aangeroepen om de gereduceerde vorm te produceren.

(Overgenomen van Expression)
Name

Hiermee haalt u de naam van de lambda-expressie op.

NodeType

Retourneert het knooppunttype van dit Expression.

NodeType

Hiermee haalt u het knooppunttype van dit Expressionop.

(Overgenomen van Expression)
Parameters

Hiermee haalt u de parameters van de lambda-expressie op.

ReturnType

Hiermee haalt u het retourtype van de lambda-expressie op.

TailCall

Hiermee wordt de waarde opgehaald die aangeeft of de lambda-expressie wordt gecompileerd met de optimalisatie van tail-aanroepen.

Type

Hiermee haalt u het statische type van de expressie op die deze Expression vertegenwoordigt.

Type

Hiermee haalt u het statische type van de expressie op die deze Expression vertegenwoordigt.

(Overgenomen van Expression)

Methoden

Name Description
Accept(ExpressionVisitor)

Verzendt naar de specifieke bezoekmethode voor dit knooppunttype. Roept bijvoorbeeld MethodCallExpression de VisitMethodCall(MethodCallExpression).

(Overgenomen van Expression)
Compile()

Produceert een gemachtigde die de lambda-expressie vertegenwoordigt.

Compile(Boolean)

Produceert een geïnterpreteerde of gecompileerde gemachtigde die de lambda-expressie vertegenwoordigt.

Compile(DebugInfoGenerator)

Produceert een gemachtigde die de lambda-expressie vertegenwoordigt.

CompileToMethod(MethodBuilder, DebugInfoGenerator)

Compileert de lambda in een methodedefinitie en aangepaste foutopsporingsgegevens.

CompileToMethod(MethodBuilder)

Compileert de lambda in een methodedefinitie.

Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
Reduce()

Vermindert dit knooppunt tot een eenvoudigere expressie. Als CanReduce waar retourneert, moet dit een geldige expressie retourneren. Deze methode kan een ander knooppunt retourneren dat zelf moet worden verminderd.

(Overgenomen van Expression)
ReduceAndCheck()

Vermindert dit knooppunt tot een eenvoudigere expressie. Als CanReduce waar retourneert, moet dit een geldige expressie retourneren. Deze methode kan een ander knooppunt retourneren dat zelf moet worden verminderd.

(Overgenomen van Expression)
ReduceExtensions()

Vermindert de expressie tot een bekend knooppunttype (dat geen extensieknooppunt is) of retourneert alleen de expressie als het al een bekend type is.

(Overgenomen van Expression)
ToString()

Retourneert een tekstuele weergave van de Expression.

(Overgenomen van Expression)
VisitChildren(ExpressionVisitor)

Vermindert het knooppunt en roept vervolgens de gedelegeerde van de bezoeker aan op de gereduceerde expressie. De methode genereert een uitzondering als het knooppunt niet kan worden herleid.

(Overgenomen van Expression)

Van toepassing op