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 ö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) |