Expression<TDelegate>.Compile Expression<TDelegate>.Compile Expression<TDelegate>.Compile Expression<TDelegate>.Compile Method

Definicja

Przeciążenia

Compile() Compile() Compile() Compile()

Kompiluje Wyrażenie lambda, opisanego przez drzewa wyrażeń do pliku wykonywalnego kodu i tworzy delegata, która reprezentuje wyrażenia lambda.Compiles the lambda expression described by the expression tree into executable code and produces a delegate that represents the lambda expression.

Compile(Boolean) Compile(Boolean) Compile(Boolean) Compile(Boolean)

Kompiluje Wyrażenie lambda, opisanego przez drzewa wyrażeń do interpretowanych i skompilowanych kodu i tworzy delegata, która reprezentuje wyrażenia lambda.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) Compile(DebugInfoGenerator) Compile(DebugInfoGenerator)

Tworzy delegata, która reprezentuje wyrażenia lambda.Produces a delegate that represents the lambda expression.

Compile() Compile() Compile() Compile()

Kompiluje Wyrażenie lambda, opisanego przez drzewa wyrażeń do pliku wykonywalnego kodu i tworzy delegata, która reprezentuje wyrażenia lambda.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

Zwraca

TDelegate TDelegate TDelegate TDelegate

Delegat typu TDelegate reprezentujący Wyrażenie lambda skompilowanych opisanego przez Expression<TDelegate>.A delegate of type TDelegate that represents the compiled lambda expression described by the Expression<TDelegate>.

Przykłady

Poniższy przykład kodu demonstruje sposób Compile służy do wykonywania drzewo wyrażenia.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

Uwagi

Compile Generuje delegat typu TDelegate w czasie wykonywania.The Compile method produces a delegate of type TDelegate at runtime. Gdy ten delegat jest wykonywana, ma ona zachowania opisanego przez semantykę Expression<TDelegate>.When that delegate is executed, it has the behavior described by the semantics of the Expression<TDelegate>.

Compile Metoda może służyć do uzyskania wartości dowolnego drzewa wyrażeń.The Compile method can be used to obtain the value of any expression tree. Najpierw należy utworzyć wyrażenie lambda, które ma wyrażenia jako jego treści, używając Lambda metody.First, create a lambda expression that has the expression as its body by using the Lambda method. Następnie wywołaj Compile uzyskać obiekt delegowany i wykonania delegata, aby uzyskać wartość wyrażenia.Then call Compile to obtain a delegate, and execute the delegate to obtain the value of the expression.

Compile(Boolean) Compile(Boolean) Compile(Boolean) Compile(Boolean)

Kompiluje Wyrażenie lambda, opisanego przez drzewa wyrażeń do interpretowanych i skompilowanych kodu i tworzy delegata, która reprezentuje wyrażenia lambda.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

Parametry

preferInterpretation
Boolean Boolean Boolean Boolean

true Aby wskazać, że wyrażenie powinna być skompilowana do postaci interpretowanych, jeśli jest dostępna; false inaczej.true to indicate that the expression should be compiled to an interpreted form, if it is available; false otherwise.

Zwraca

TDelegate TDelegate TDelegate TDelegate

Delegat, który reprezentuje wyrażenie lambda skompilowanych opisanego przez Expression<TDelegate>.A delegate that represents the compiled lambda expression described by the Expression<TDelegate>.

Compile(DebugInfoGenerator) Compile(DebugInfoGenerator) Compile(DebugInfoGenerator)

Tworzy delegata, która reprezentuje wyrażenia lambda.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

Parametry

debugInfoGenerator
DebugInfoGenerator DebugInfoGenerator DebugInfoGenerator DebugInfoGenerator

Debugowanie generator informacje używane przez kompilator, aby oznaczyć punktów sekwencji, a także dodawać adnotacje do zmiennych lokalnych.Debugging information generator used by the compiler to mark sequence points and annotate local variables.

Zwraca

TDelegate TDelegate TDelegate TDelegate

Obiekt delegowany zawierające skompilowanych wersji wyrażenia lambda.A delegate containing the compiled version of the lambda.

Dotyczy