Expression<TDelegate>.Compile Methode

Definition

Überlädt

Compile()

Kompiliert den von der Ausdrucksbaumstruktur beschriebenen Lambda-Ausdruck in ausführbaren Code und erzeugt einen Delegaten, der den Lambda-Ausdruck darstellt.Compiles the lambda expression described by the expression tree into executable code and produces a delegate that represents the lambda expression.

Compile(Boolean)

Kompiliert die Lambdaausdrücke, die von der Ausdrucksbaumstruktur als interpretierter oder kompilierter Code beschrieben werden, und erzeugt einen Delegaten, der den Lambdaausdruck darstellt.Compiles the lambda expression described by the expression tree into interpreted or compiled code and produces a delegate that represents the lambda expression.

Compile(DebugInfoGenerator)

Erzeugt einen Delegaten, der den Lambdaausdruck darstellt.Produces a delegate that represents the lambda expression.

Compile()

Kompiliert den von der Ausdrucksbaumstruktur beschriebenen Lambda-Ausdruck in ausführbaren Code und erzeugt einen Delegaten, der den Lambda-Ausdruck darstellt.Compiles the lambda expression described by the expression tree into executable code and produces a delegate that represents the lambda expression.

public:
 TDelegate Compile();
public TDelegate Compile ();
override this.Compile : unit -> 'Delegate
Public Function Compile () As TDelegate

Gibt zurück

TDelegate

Ein Delegat vom Typ TDelegate, der den vom Expression<TDelegate> beschriebenen kompilierten Lambda-Ausdruck darstellt.A delegate of type TDelegate that represents the compiled lambda expression described by the Expression<TDelegate>.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Compile verwendet wird, um eine Ausdrucks Baumstruktur auszuführen.The following code example demonstrates how Compile is used to execute an expression tree.


// 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 zur Laufzeit einen Delegaten vom Typ TDelegate.The Compile method produces a delegate of type TDelegate at runtime. Wenn dieser Delegat ausgeführt wird, verfügt er über das Verhalten, das von der Semantik des Expression<TDelegate>beschrieben wird.When that delegate is executed, it has the behavior described by the semantics of the Expression<TDelegate>.

Die Compile-Methode kann verwendet werden, um den Wert einer beliebigen Ausdrucks Baumstruktur zu erhalten.The Compile method can be used to obtain the value of any expression tree. Erstellen Sie zunächst einen Lambda-Ausdruck, der den Ausdruck als Text enthält, indem Sie die Lambda-Methode verwenden.First, create a lambda expression that has the expression as its body by using the Lambda method. Rufen Sie dann Compile auf, um einen Delegaten abzurufen, und führen Sie den Delegaten aus, um den Wert des Ausdrucks zu erhalten.Then call Compile to obtain a delegate, and execute the delegate to obtain the value of the expression.

Compile(Boolean)

Kompiliert die Lambdaausdrücke, die von der Ausdrucksbaumstruktur als interpretierter oder kompilierter Code beschrieben werden, und erzeugt einen Delegaten, der den Lambdaausdruck darstellt.Compiles the lambda expression described by the expression tree into interpreted or compiled code and produces a delegate that represents the lambda expression.

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 ein interpretiertes Format kompiliert werden muss, sofern verfügbar; andernfalls false.true to indicate that the expression should be compiled to an interpreted form, if it is available; false otherwise.

Gibt zurück

TDelegate

Ein Delegat, der den kompilierten Lambdaausdruck darstellt, der durch das Expression<TDelegate>-Objekt beschrieben wird.A delegate that represents the compiled lambda expression described by the Expression<TDelegate>.

Compile(DebugInfoGenerator)

Erzeugt einen Delegaten, der den Lambdaausdruck darstellt.Produces a delegate that represents the lambda expression.

public:
 TDelegate Compile(System::Runtime::CompilerServices::DebugInfoGenerator ^ debugInfoGenerator);
public TDelegate Compile (System.Runtime.CompilerServices.DebugInfoGenerator debugInfoGenerator);
override this.Compile : System.Runtime.CompilerServices.DebugInfoGenerator -> 'Delegate

Parameter

debugInfoGenerator
DebugInfoGenerator

Generator für Debuginformationen, mit dem der Compiler Sequenzpunkte markiert und lokale Variablen mit Anmerkungen versieht.Debugging information generator used by the compiler to mark sequence points and annotate local variables.

Gibt zurück

TDelegate

Ein Delegat, der die kompilierte Version des Lambdaausdrucks enthält.A delegate containing the compiled version of the lambda.

Gilt für: