Aracılığıyla paylaş


LambdaExpression Sınıf

Tanım

Lambda ifadesini açıklar. Bu, .NET yöntemi gövdesine benzer bir kod bloğu yakalar.

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
Devralma
LambdaExpression
Türetilmiş

Örnekler

Aşağıdaki örnekte, Lambda yöntemini kullanarak geçirilen bağımsız değişkene 1 ekleyen bir lambda ifadesini temsil eden bir ifadenin nasıl oluşturulacağı gösterilmektedir.

// 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

Açıklamalar

LambdaExpression türü, ifade ağacı biçiminde bir lambda ifadesini temsil eder. LambdaExpression türetilen ve lambda ifadesinin türünü daha açık bir şekilde yakalayan Expression<TDelegate> türü, lambda ifadesini temsil etmek için de kullanılabilir. Çalışma zamanında, lambda ifadesini temsil eden bir ifade ağacı düğümü her zaman Expression<TDelegate>türündedir.

bir LambdaExpressionNodeType özelliğinin değeri Lambda.

LambdaExpression nesnesi oluşturmak için Lambda fabrika yöntemlerini kullanın.

Özellikler

Body

Lambda ifadesinin gövdesini alır.

CanReduce

Düğümün daha basit bir düğüme indirgenebileceğini gösterir. Bu true döndürürse, azaltılmış formu oluşturmak için Reduce() çağrılabilir.

(Devralındığı yer: Expression)
Name

Lambda ifadesinin adını alır.

NodeType

Bu Expressiondüğüm türünü döndürür.

NodeType

Bu Expressiondüğüm türünü alır.

(Devralındığı yer: Expression)
Parameters

Lambda ifadesinin parametrelerini alır.

ReturnType

Lambda ifadesinin dönüş türünü alır.

TailCall

Lambda ifadesinin kuyruk çağrısı iyileştirmesi ile derlenip derleneceğini belirten değeri alır.

Type

Bu Expression temsil ettiği ifadenin statik türünü alır.

Type

Bu Expression temsil ettiği ifadenin statik türünü alır.

(Devralındığı yer: Expression)

Yöntemler

Accept(ExpressionVisitor)

Bu düğüm türü için belirli bir ziyaret yöntemine gönderilir. Örneğin, MethodCallExpressionVisitMethodCall(MethodCallExpression)çağırır.

(Devralındığı yer: Expression)
Compile()

Lambda ifadesini temsil eden bir temsilci oluşturur.

Compile(Boolean)

Lambda ifadesini temsil eden yorumlanmış veya derlenmiş bir temsilci oluşturur.

Compile(DebugInfoGenerator)

Lambda ifadesini temsil eden bir temsilci oluşturur.

CompileToMethod(MethodBuilder, DebugInfoGenerator)

Lambda'yi bir yöntem tanımı ve özel hata ayıklama bilgileri halinde derler.

CompileToMethod(MethodBuilder)

Lambda'yi bir yöntem tanımında derler.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Geçerli örneğin Type alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectbasit bir kopyasını oluşturur.

(Devralındığı yer: Object)
Reduce()

Bu düğümü daha basit bir ifadeye küçültür. CanReduce true döndürürse, bu geçerli bir ifade döndürmelidir. Bu yöntem, azaltması gereken başka bir düğüm döndürebilir.

(Devralındığı yer: Expression)
ReduceAndCheck()

Bu düğümü daha basit bir ifadeye küçültür. CanReduce true döndürürse, bu geçerli bir ifade döndürmelidir. Bu yöntem, azaltması gereken başka bir düğüm döndürebilir.

(Devralındığı yer: Expression)
ReduceExtensions()

İfadeyi bilinen bir düğüm türüne (Uzantı düğümü değildir) küçültür veya zaten bilinen bir türse yalnızca ifadeyi döndürür.

(Devralındığı yer: Expression)
ToString()

Expressionmetinsel gösterimini döndürür.

(Devralındığı yer: Expression)
VisitChildren(ExpressionVisitor)

Düğümü azaltır ve ardından azaltılmış ifadede ziyaretçi temsilcisini çağırır. Yöntem, düğüm azaltılabilir değilse bir özel durum oluşturur.

(Devralındığı yer: Expression)

Şunlara uygulanır