Expression<TDelegate>.Compile Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Überlädt
| Name | Beschreibung |
|---|---|
| Compile() |
Kompiliert den lambda-Ausdruck, der durch die Ausdrucksstruktur beschrieben wird, in ausführbaren Code und erzeugt einen Delegaten, der den Lambda-Ausdruck darstellt. |
| Compile(Boolean) |
Kompiliert den lambda-Ausdruck, der von der Ausdrucksstruktur in interpretierten oder kompilierten Code beschrieben wird, und erzeugt einen Delegaten, der den Lambda-Ausdruck darstellt. |
| Compile(DebugInfoGenerator) |
Erzeugt einen Delegaten, der den Lambda-Ausdruck darstellt. |
Compile()
Kompiliert den lambda-Ausdruck, der durch die Ausdrucksstruktur beschrieben wird, in ausführbaren Code und erzeugt einen Delegaten, der den Lambda-Ausdruck darstellt.
public:
TDelegate Compile();
public TDelegate Compile();
override this.Compile : unit -> 'Delegate
Public Function Compile () As TDelegate
Gibt zurück
Ein Delegat vom Typ TDelegate , der den kompilierten Lambda-Ausdruck darstellt, der von der Expression<TDelegate>.
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie Compile eine Ausdrucksstruktur ausgeführt wird.
// 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
Hinweise
Die Compile Methode erzeugt einen Delegat vom Typ TDelegate zur Laufzeit. Wenn diese Stellvertretung ausgeführt wird, weist sie das verhalten auf, das durch die Semantik der Expression<TDelegate>.
Die Compile Methode kann verwendet werden, um den Wert einer beliebigen Ausdrucksstruktur abzurufen. Erstellen Sie zunächst einen Lambda-Ausdruck mit dem Ausdruck als Textkörper mithilfe der Lambda Methode. Rufen Sie dann auf, um eine Stellvertretung Compile abzurufen, und führen Sie die Stellvertretung aus, um den Wert des Ausdrucks abzurufen.
Gilt für:
Compile(Boolean)
Kompiliert den lambda-Ausdruck, der von der Ausdrucksstruktur in interpretierten oder kompilierten Code beschrieben wird, und erzeugt einen Delegaten, der den Lambda-Ausdruck darstellt.
public:
TDelegate Compile(bool preferInterpretation);
public TDelegate Compile(bool preferInterpretation);
override this.Compile : bool -> 'Delegate
Public Function Compile (preferInterpretation As Boolean) As TDelegate
Parameter
- preferInterpretation
- Boolean
true um anzugeben, dass der Ausdruck in einem interpretierten Formular kompiliert werden soll, sofern er verfügbar ist; false Andernfalls.
Gibt zurück
Eine Stellvertretung, die den kompilierten Lambda-Ausdruck darstellt, der von der Expression<TDelegate>.
Gilt für:
Compile(DebugInfoGenerator)
Erzeugt einen Delegaten, der den Lambda-Ausdruck darstellt.
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
Parameter
- debugInfoGenerator
- DebugInfoGenerator
Debugginginformationsgenerator, der vom Compiler verwendet wird, um Sequenzpunkte zu markieren und lokale Variablen zu kommentieren.
Gibt zurück
Ein Delegat, der die kompilierte Version der Lambda-Funktion enthält.