Expression<TDelegate>.Compile Metod

Definition

Överlagringar

Name Description
Compile()

Kompilerar lambda-uttrycket som beskrivs av uttrycksträdet till körbar kod och skapar ett ombud som representerar lambda-uttrycket.

Compile(Boolean)

Kompilerar lambda-uttrycket som beskrivs av uttrycksträdet till tolkad eller kompilerad kod och skapar ett ombud som representerar lambda-uttrycket.

Compile(DebugInfoGenerator)

Skapar ett ombud som representerar lambda-uttrycket.

Compile()

Källa:
LambdaExpression.cs
Källa:
LambdaExpression.cs
Källa:
LambdaExpression.cs
Källa:
LambdaExpression.cs
Källa:
LambdaExpression.cs

Kompilerar lambda-uttrycket som beskrivs av uttrycksträdet till körbar kod och skapar ett ombud som representerar lambda-uttrycket.

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

Returer

TDelegate

Ett ombud av typen TDelegate som representerar det kompilerade lambda-uttrycket som beskrivs av Expression<TDelegate>.

Exempel

Följande kodexempel visar hur Compile används för att köra ett uttrycksträd.


// 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

Kommentarer

Metoden Compile genererar ett ombud av typen TDelegate vid körning. När ombudet körs har det beteende som beskrivs av semantiken i Expression<TDelegate>.

Metoden Compile kan användas för att hämta värdet för valfritt uttrycksträd. Skapa först ett lambda-uttryck som har uttrycket som brödtext med hjälp Lambda av metoden . Anropa Compile sedan för att hämta ett ombud och kör ombudet för att hämta uttryckets värde.

Gäller för

Compile(Boolean)

Källa:
LambdaExpression.cs
Källa:
LambdaExpression.cs
Källa:
LambdaExpression.cs
Källa:
LambdaExpression.cs
Källa:
LambdaExpression.cs

Kompilerar lambda-uttrycket som beskrivs av uttrycksträdet till tolkad eller kompilerad kod och skapar ett ombud som representerar lambda-uttrycket.

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

Parametrar

preferInterpretation
Boolean

true för att ange att uttrycket ska kompileras till ett tolkat formulär, om det är tillgängligt. false Annars.

Returer

TDelegate

Ett ombud som representerar det kompilerade lambda-uttrycket som beskrivs av Expression<TDelegate>.

Gäller för

Compile(DebugInfoGenerator)

Källa:
LambdaExpression.cs
Källa:
LambdaExpression.cs
Källa:
LambdaExpression.cs
Källa:
LambdaExpression.cs
Källa:
LambdaExpression.cs

Skapar ett ombud som representerar lambda-uttrycket.

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

Parametrar

debugInfoGenerator
DebugInfoGenerator

Felsöka informationsgeneratorn som används av kompilatorn för att markera sekvenspunkter och kommentera lokala variabler.

Returer

TDelegate

Ett ombud som innehåller den kompilerade versionen av lambda.

Gäller för