LambdaExpression Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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
- Türetilmiş
Örnekler
Aşağıdaki örnek, yöntemini kullanarak geçirilen bağımsız değişkene 1 ekleyen bir lambda ifadesini temsil eden bir ifadenin Lambda nasıl oluşturulacağını gösterir.
// 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
türü, LambdaExpression ifade ağacı biçiminde bir lambda ifadesini temsil eder. Expression<TDelegate> Lambda ifadesinin LambdaExpression türünden türetilen ve lambda ifadesinin türünü daha açık bir şekilde yakalayan tür, bir 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 türündedir Expression<TDelegate>.
özelliğinin NodeTypeLambdaExpression değeri şeklindedir Lambda.
Lambda Nesne oluşturmak LambdaExpression için 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 Expressionöğesinin düğü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 |
Bunu Expression temsil eden ifadenin statik türünü alır. |
Type |
Bunu Expression temsil eden 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, MethodCallExpression öğesini çağırır VisitMethodCall(MethodCallExpression). (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) |
Lambda'yi bir yöntem tanımına derler. |
CompileToMethod(MethodBuilder, DebugInfoGenerator) |
Lambda'yi bir yöntem tanımı ve özel hata ayıklama bilgileri olarak 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() |
Type Geçerli örneğini alır. (Devralındığı yer: Object) |
MemberwiseClone() |
Geçerli Objectöğesinin sığ 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, azaltılması 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, azaltılması 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ğil) küçültür veya zaten bilinen bir türse yalnızca ifadeyi döndürür. (Devralındığı yer: Expression) |
ToString() |
öğesinin metinsel gösterimini Expressiondö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. Düğüm azaltılabilir değilse yöntemi bir özel durum oluşturur. (Devralındığı yer: Expression) |