Expression<TDelegate>.Compile Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Przeciążenia
| Nazwa | Opis |
|---|---|
| Compile() |
Kompiluje wyrażenie lambda opisane przez drzewo wyrażeń w kodzie wykonywalnym i tworzy delegat reprezentujący wyrażenie lambda. |
| Compile(Boolean) |
Kompiluje wyrażenie lambda opisane przez drzewo wyrażeń w interpretowanym lub skompilowanym kodzie i tworzy delegat reprezentujący wyrażenie lambda. |
| Compile(DebugInfoGenerator) |
Tworzy delegata reprezentującego wyrażenie lambda. |
Compile()
- Źródło:
- LambdaExpression.cs
- Źródło:
- LambdaExpression.cs
- Źródło:
- LambdaExpression.cs
- Źródło:
- LambdaExpression.cs
- Źródło:
- LambdaExpression.cs
Kompiluje wyrażenie lambda opisane przez drzewo wyrażeń w kodzie wykonywalnym i tworzy delegat reprezentujący wyrażenie lambda.
public:
TDelegate Compile();
public TDelegate Compile();
override this.Compile : unit -> 'Delegate
Public Function Compile () As TDelegate
Zwraca
Delegat typu TDelegate , który reprezentuje skompilowane wyrażenie lambda opisane przez Expression<TDelegate>.
Przykłady
W poniższym przykładzie kodu pokazano, jak Compile jest używany do wykonywania drzewa wyrażeń.
// Lambda expression as data in the form of an expression tree.
System.Linq.Expressions.Expression<Func<int, bool>> expr = i => i < 5;
// Compile the expression tree into executable code.
Func<int, bool> deleg = expr.Compile();
// Invoke the method and print the output.
Console.WriteLine("deleg(4) = {0}", deleg(4));
/* This code produces the following output:
deleg(4) = True
*/
' Lambda expression as data in the form of an expression tree.
Dim expression As System.Linq.Expressions.Expression(Of Func(Of Integer, Boolean)) = Function(ByVal i) i < 5
' Compile the expression tree into executable code.
Dim deleg As Func(Of Integer, Boolean) = expression.Compile()
' Invoke the method and print the output.
MsgBox(String.Format("deleg(4) = {0}", deleg(4)))
' This code produces the following output:
'
' deleg(4) = True
Uwagi
Metoda Compile tworzy delegata typu TDelegate w czasie wykonywania. Po wykonaniu tego delegata ma ono zachowanie opisane przez semantyka elementu Expression<TDelegate>.
Metoda Compile może służyć do uzyskiwania wartości dowolnego drzewa wyrażeń. Najpierw utwórz wyrażenie lambda, które ma wyrażenie jako treść przy użyciu Lambda metody . Następnie wywołaj metodę Compile w celu uzyskania delegata i wykonaj delegata w celu uzyskania wartości wyrażenia.
Dotyczy
Compile(Boolean)
- Źródło:
- LambdaExpression.cs
- Źródło:
- LambdaExpression.cs
- Źródło:
- LambdaExpression.cs
- Źródło:
- LambdaExpression.cs
- Źródło:
- LambdaExpression.cs
Kompiluje wyrażenie lambda opisane przez drzewo wyrażeń w interpretowanym lub skompilowanym kodzie i tworzy delegat reprezentujący wyrażenie lambda.
public:
TDelegate Compile(bool preferInterpretation);
public TDelegate Compile(bool preferInterpretation);
override this.Compile : bool -> 'Delegate
Public Function Compile (preferInterpretation As Boolean) As TDelegate
Parametry
- preferInterpretation
- Boolean
true aby wskazać, że wyrażenie powinno zostać skompilowane w postaci interpretowanej, jeśli jest dostępne; false Inaczej.
Zwraca
Delegat reprezentujący skompilowane wyrażenie lambda opisane przez Expression<TDelegate>element .
Dotyczy
Compile(DebugInfoGenerator)
- Źródło:
- LambdaExpression.cs
- Źródło:
- LambdaExpression.cs
- Źródło:
- LambdaExpression.cs
- Źródło:
- LambdaExpression.cs
- Źródło:
- LambdaExpression.cs
Tworzy delegata reprezentującego wyrażenie lambda.
public:
TDelegate Compile(System::Runtime::CompilerServices::DebugInfoGenerator ^ debugInfoGenerator);
public TDelegate Compile(System.Runtime.CompilerServices.DebugInfoGenerator debugInfoGenerator);
override this.Compile : System.Runtime.CompilerServices.DebugInfoGenerator -> 'Delegate
Public Function Compile (debugInfoGenerator As DebugInfoGenerator) As TDelegate
Parametry
- debugInfoGenerator
- DebugInfoGenerator
Generator informacji debugowania używany przez kompilator do oznaczania punktów sekwencji i dodawania adnotacji do zmiennych lokalnych.
Zwraca
Delegat zawierający skompilowana wersję lambda.