Expression<TDelegate>.Compile Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Ö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
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
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
Ett ombud som innehåller den kompilerade versionen av lambda.