Bagikan melalui


LambdaExpression Kelas

Definisi

Menjelaskan ekspresi lambda. Ini menangkap blok kode yang mirip dengan isi metode .NET.

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
Warisan
LambdaExpression
Turunan

Contoh

Contoh berikut menunjukkan cara membuat ekspresi yang mewakili ekspresi lambda yang menambahkan 1 ke argumen yang diteruskan dengan menggunakan Lambda metode .

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

Keterangan

Jenis mewakili LambdaExpression ekspresi lambda dalam bentuk pohon ekspresi. Jenis Expression<TDelegate> , yang berasal dari LambdaExpression dan menangkap jenis ekspresi lambda secara lebih eksplisit, juga dapat digunakan untuk mewakili ekspresi lambda. Pada runtime, simpul pohon ekspresi yang mewakili ekspresi lambda selalu berjenis Expression<TDelegate>.

Nilai NodeType properti dari adalah LambdaExpressionLambda.

Lambda Gunakan metode pabrik untuk membuat LambdaExpression objek.

Properti

Body

Mendapatkan isi ekspresi lambda.

CanReduce

Menunjukkan bahwa simpul dapat dikurangi menjadi simpul yang lebih sederhana. Jika ini mengembalikan true, Reduce() dapat dipanggil untuk menghasilkan formulir yang dikurangi.

(Diperoleh dari Expression)
Name

Mendapatkan nama ekspresi lambda.

NodeType

Mengembalikan jenis node ini Expression.

NodeType

Mendapatkan jenis node ini Expression.

(Diperoleh dari Expression)
Parameters

Mendapatkan parameter ekspresi lambda.

ReturnType

Mendapatkan jenis pengembalian ekspresi lambda.

TailCall

Mendapatkan nilai yang menunjukkan apakah ekspresi lambda akan dikompilasi dengan pengoptimalan panggilan ekor.

Type

Mendapatkan jenis statis ekspresi yang diwakili ini Expression .

Type

Mendapatkan jenis statis ekspresi yang diwakili ini Expression .

(Diperoleh dari Expression)

Metode

Accept(ExpressionVisitor)

Mengirimkan ke metode kunjungan tertentu untuk jenis node ini. Misalnya, MethodCallExpression memanggil VisitMethodCall(MethodCallExpression).

(Diperoleh dari Expression)
Compile()

Menghasilkan delegasi yang mewakili ekspresi lambda.

Compile(Boolean)

Menghasilkan delegasi yang ditafsirkan atau dikompilasi yang mewakili ekspresi lambda.

Compile(DebugInfoGenerator)

Menghasilkan delegasi yang mewakili ekspresi lambda.

CompileToMethod(MethodBuilder)

Mengkompilasi lambda ke dalam definisi metode.

CompileToMethod(MethodBuilder, DebugInfoGenerator)

Mengkompilasi lambda ke dalam definisi metode dan informasi debug kustom.

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetType()

Mendapatkan instans Type saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari yang saat ini Object.

(Diperoleh dari Object)
Reduce()

Mengurangi simpul ini menjadi ekspresi yang lebih sederhana. Jika CanReduce mengembalikan true, ini akan mengembalikan ekspresi yang valid. Metode ini dapat mengembalikan simpul lain yang harus dikurangi.

(Diperoleh dari Expression)
ReduceAndCheck()

Mengurangi simpul ini menjadi ekspresi yang lebih sederhana. Jika CanReduce mengembalikan true, ini akan mengembalikan ekspresi yang valid. Metode ini dapat mengembalikan simpul lain yang harus dikurangi.

(Diperoleh dari Expression)
ReduceExtensions()

Mengurangi ekspresi ke jenis simpul yang diketahui (yang bukan simpul Ekstensi) atau hanya mengembalikan ekspresi jika sudah merupakan jenis yang diketahui.

(Diperoleh dari Expression)
ToString()

Mengembalikan representasi tekstual dari Expression.

(Diperoleh dari Expression)
VisitChildren(ExpressionVisitor)

Mengurangi simpul lalu memanggil delegasi pengunjung pada ekspresi yang dikurangi. Metode ini memberikan pengecualian jika simpul tidak dapat dikurangi.

(Diperoleh dari Expression)

Berlaku untuk