Expression<TDelegate>.Compile Methode

Definitie

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

TDelegate

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

TDelegate

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

TDelegate

Een gemachtigde met de gecompileerde versie van de lambda.

Van toepassing op