Expression<TDelegate>.Compile Yöntem

Tanım

Aşırı Yüklemeler

Compile()

İfade ağacı tarafından açıklanan lambda ifadesini çalıştırılabilir koda derler ve lambda ifadesini temsil eden bir temsilci oluşturur.Compiles the lambda expression described by the expression tree into executable code and produces a delegate that represents the lambda expression.

Compile(Boolean)

İfade ağacı tarafından tanımlanan lambda ifadesini yorumlanan veya derlenen koda derler ve lambda ifadesini temsil eden bir temsilci oluşturur.Compiles the lambda expression described by the expression tree into interpreted or compiled code and produces a delegate that represents the lambda expression.

Compile(DebugInfoGenerator)

Lambda ifadesini temsil eden bir temsilci üretir.Produces a delegate that represents the lambda expression.

Compile()

İfade ağacı tarafından açıklanan lambda ifadesini çalıştırılabilir koda derler ve lambda ifadesini temsil eden bir temsilci oluşturur.Compiles the lambda expression described by the expression tree into executable code and produces a delegate that represents the lambda expression.

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

Döndürülenler

TDelegate

TDelegateTarafından tanımlanan derlenmiş lambda ifadesini temsil eden tür temsilcisi Expression<TDelegate> .A delegate of type TDelegate that represents the compiled lambda expression described by the Expression<TDelegate>.

Örnekler

Aşağıdaki kod örneği, Compile bir ifade ağacını yürütmek için nasıl kullanıldığını gösterir.The following code example demonstrates how Compile is used to execute an expression tree.


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

Açıklamalar

CompileYöntemi, çalışma zamanında türünde bir temsilci üretir TDelegate .The Compile method produces a delegate of type TDelegate at runtime. Bu temsilci yürütüldüğünde, ' nin semantiğine göre açıklanan davranış vardır Expression<TDelegate> .When that delegate is executed, it has the behavior described by the semantics of the Expression<TDelegate>.

CompileYöntemi herhangi bir ifade ağacının değerini elde etmek için kullanılabilir.The Compile method can be used to obtain the value of any expression tree. İlk olarak, yöntemini kullanarak ifadesi olarak ifade içeren bir lambda ifadesi oluşturun Lambda .First, create a lambda expression that has the expression as its body by using the Lambda method. Sonra Compile bir temsilci elde etmek için çağırın ve ifadenin değerini elde etmek için temsilciyi yürütün.Then call Compile to obtain a delegate, and execute the delegate to obtain the value of the expression.

Şunlara uygulanır

Compile(Boolean)

İfade ağacı tarafından tanımlanan lambda ifadesini yorumlanan veya derlenen koda derler ve lambda ifadesini temsil eden bir temsilci oluşturur.Compiles the lambda expression described by the expression tree into interpreted or compiled code and produces a delegate that represents the lambda expression.

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

Parametreler

preferInterpretation
Boolean

true ifadenin, varsa, yorumlanan bir forma derlenmesi gerektiğini göstermek için; false Aksi takdirde.true to indicate that the expression should be compiled to an interpreted form, if it is available; false otherwise.

Döndürülenler

TDelegate

Tarafından tanımlanan derlenmiş lambda ifadesini temsil eden bir temsilci Expression<TDelegate> .A delegate that represents the compiled lambda expression described by the Expression<TDelegate>.

Şunlara uygulanır

Compile(DebugInfoGenerator)

Lambda ifadesini temsil eden bir temsilci üretir.Produces a delegate that represents the lambda expression.

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

Parametreler

debugInfoGenerator
DebugInfoGenerator

Derleyici tarafından sıralı noktaları işaretlemek ve yerel değişkenleri eklemek için kullanılan hata ayıklama bilgi Oluşturucu.Debugging information generator used by the compiler to mark sequence points and annotate local variables.

Döndürülenler

TDelegate

Lambda 'nin derlenmiş sürümünü içeren bir temsilci.A delegate containing the compiled version of the lambda.

Şunlara uygulanır