Expression<TDelegate>.Compile Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Sobrecargas
Compile() |
Compila la expresión lambda descrita por el árbol de la expresión en el código ejecutable y genera un delegado que representa la expresión lambda. |
Compile(Boolean) |
Compila la expresión lambda descrita por el árbol de expresión en el código interpretado o compilado y genera a un delegado que representa la expresión lambda. |
Compile(DebugInfoGenerator) |
Genera un delegado que representa la expresión lambda. |
Compile()
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
Compila la expresión lambda descrita por el árbol de la expresión en el código ejecutable y genera un delegado que representa la expresión lambda.
public:
TDelegate Compile();
public TDelegate Compile ();
override this.Compile : unit -> 'Delegate
Public Function Compile () As TDelegate
Devoluciones
Un delegado de tipo TDelegate
que representa la expresión lambda compilada descrita por Expression<TDelegate>.
Ejemplos
En el ejemplo de código siguiente se muestra cómo Compile se usa para ejecutar un árbol de expresión.
// 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
Comentarios
El Compile método genera un delegado de tipo TDelegate
en tiempo de ejecución. Cuando se ejecuta ese delegado, tiene el comportamiento descrito por la semántica de Expression<TDelegate>.
El Compile método se puede usar para obtener el valor de cualquier árbol de expresión. En primer lugar, cree una expresión lambda que tenga la expresión como cuerpo mediante el Lambda método . A continuación, llame Compile a para obtener un delegado y ejecute el delegado para obtener el valor de la expresión.
Se aplica a
Compile(Boolean)
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
Compila la expresión lambda descrita por el árbol de expresión en el código interpretado o compilado y genera a un delegado que representa la expresión lambda.
public:
TDelegate Compile(bool preferInterpretation);
public TDelegate Compile (bool preferInterpretation);
override this.Compile : bool -> 'Delegate
Public Function Compile (preferInterpretation As Boolean) As TDelegate
Parámetros
- preferInterpretation
- Boolean
true
para indicar que la expresión se debe compilar en un formulario interpretado, si está disponible; false
en caso contrario.
Devoluciones
Delegado que representa la expresión lambda compilada descrita por el elemento Expression<TDelegate>.
Se aplica a
Compile(DebugInfoGenerator)
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
- Source:
- LambdaExpression.cs
Genera un delegado que representa la expresión 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
Parámetros
- debugInfoGenerator
- DebugInfoGenerator
Generador de información de depuración usado por el compilador para marcar puntos de secuencia y anotar variables locales.
Devoluciones
Delegado que contiene la versión compilada del lambda.