Expression<TDelegate>.Compile Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Overload
Compile() |
Compila l'espressione lambda descritta dalla struttura ad albero dell'espressione in codice eseguibile e produce un delegato che rappresenta l'espressione lambda. |
Compile(Boolean) |
Compila l'espressione lambda descritta dall'albero delle espressioni nel codice interpretato o compilato e produce un delegato che rappresenta l'espressione lambda. |
Compile(DebugInfoGenerator) |
Produce un delegato che rappresenta l'espressione lambda. |
Compile()
- Origine:
- LambdaExpression.cs
- Origine:
- LambdaExpression.cs
- Origine:
- LambdaExpression.cs
Compila l'espressione lambda descritta dalla struttura ad albero dell'espressione in codice eseguibile e produce un delegato che rappresenta l'espressione lambda.
public:
TDelegate Compile();
public TDelegate Compile ();
override this.Compile : unit -> 'Delegate
Public Function Compile () As TDelegate
Restituisce
Delegato di tipo TDelegate
che rappresenta l'espressione lambda compilata descritta dall'oggetto Expression<TDelegate>.
Esempio
Nell'esempio di codice seguente viene illustrato come Compile viene usato per eseguire un albero delle espressioni.
// 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
Commenti
Il Compile metodo produce un delegato di tipo TDelegate
in fase di esecuzione. Quando il delegato viene eseguito, ha il comportamento descritto dalla semantica di Expression<TDelegate>.
Il Compile metodo può essere usato per ottenere il valore di qualsiasi albero delle espressioni. Creare prima di tutto un'espressione lambda con l'espressione come corpo usando il Lambda metodo . Chiamare Compile quindi per ottenere un delegato ed eseguire il delegato per ottenere il valore dell'espressione.
Si applica a
Compile(Boolean)
- Origine:
- LambdaExpression.cs
- Origine:
- LambdaExpression.cs
- Origine:
- LambdaExpression.cs
Compila l'espressione lambda descritta dall'albero delle espressioni nel codice interpretato o compilato e produce un delegato che rappresenta l'espressione lambda.
public:
TDelegate Compile(bool preferInterpretation);
public TDelegate Compile (bool preferInterpretation);
override this.Compile : bool -> 'Delegate
Public Function Compile (preferInterpretation As Boolean) As TDelegate
Parametri
- preferInterpretation
- Boolean
true
per indicare che l'espressione deve essere compilata in un formato interpretato, se disponibile; in caso contrario, false
.
Restituisce
Un delegato che rappresenta l'espressione lambda compilata descritta da Expression<TDelegate>.
Si applica a
Compile(DebugInfoGenerator)
- Origine:
- LambdaExpression.cs
- Origine:
- LambdaExpression.cs
- Origine:
- LambdaExpression.cs
Produce un delegato che rappresenta l'espressione 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
Parametri
- debugInfoGenerator
- DebugInfoGenerator
Generatore delle informazioni di debug utilizzato dal compilatore per contrassegnare i punti della sequenza e annotare le variabili locali.
Restituisce
Un delegato che contiene la versione compilata del lambda.