Expression<TDelegate>.Compile Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Overloads
| Name | Description |
|---|---|
| Compile() |
Compileert de lambda-expressie die wordt beschreven door de expressiestructuur in uitvoerbare code en produceert een gemachtigde die de lambda-expressie vertegenwoordigt. |
| Compile(Boolean) |
Compileert de lambda-expressie die wordt beschreven door de expressiestructuur in geïnterpreteerde of gecompileerde code en produceert een gemachtigde die de lambda-expressie vertegenwoordigt. |
| Compile(DebugInfoGenerator) |
Produceert een gemachtigde die de lambda-expressie vertegenwoordigt. |
Compile()
Compileert de lambda-expressie die wordt beschreven door de expressiestructuur in uitvoerbare code en produceert een gemachtigde die de lambda-expressie vertegenwoordigt.
public:
TDelegate Compile();
public TDelegate Compile();
override this.Compile : unit -> 'Delegate
Public Function Compile () As TDelegate
Retouren
Een gemachtigde van het type TDelegate dat de gecompileerde lambda-expressie vertegenwoordigt die wordt beschreven door de Expression<TDelegate>.
Voorbeelden
In het volgende codevoorbeeld ziet u hoe Compile een expressiestructuur wordt uitgevoerd.
// 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
Opmerkingen
De Compile methode produceert een gemachtigde van het type TDelegate tijdens runtime. Wanneer deze gemachtigde wordt uitgevoerd, heeft deze het gedrag dat wordt beschreven door de semantiek van de Expression<TDelegate>.
De Compile methode kan worden gebruikt om de waarde van elke expressiestructuur te verkrijgen. Maak eerst een lambda-expressie met de expressie als hoofdtekst met behulp van de Lambda methode. Compile Roep vervolgens aan om een gemachtigde te verkrijgen en voer de gemachtigde uit om de waarde van de expressie te verkrijgen.
Van toepassing op
Compile(Boolean)
Compileert de lambda-expressie die wordt beschreven door de expressiestructuur in geïnterpreteerde of gecompileerde code en produceert een gemachtigde die de lambda-expressie vertegenwoordigt.
public:
TDelegate Compile(bool preferInterpretation);
public TDelegate Compile(bool preferInterpretation);
override this.Compile : bool -> 'Delegate
Public Function Compile (preferInterpretation As Boolean) As TDelegate
Parameters
- preferInterpretation
- Boolean
true om aan te geven dat de expressie moet worden gecompileerd naar een geïnterpreteerd formulier, indien deze beschikbaar is; false Anders.
Retouren
Een gemachtigde die de gecompileerde lambda-expressie vertegenwoordigt die wordt beschreven door de Expression<TDelegate>.
Van toepassing op
Compile(DebugInfoGenerator)
Produceert een gemachtigde die de lambda-expressie vertegenwoordigt.
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
Parameters
- debugInfoGenerator
- DebugInfoGenerator
Foutopsporingsgegevensgenerator die door de compiler wordt gebruikt om reekspunten te markeren en aantekeningen te maken bij lokale variabelen.
Retouren
Een gemachtigde met de gecompileerde versie van de lambda.