Aracılığıyla paylaş


Expression<TDelegate>.Compile Yöntem

Tanım

Aşırı Yüklemeler

Compile()

İfade ağacı tarafından açıklanan lambda ifadesini yürütülebilir kod olarak derler ve lambda ifadesini temsil eden bir temsilci oluşturur.

Compile(Boolean)

İfade ağacı tarafından açıklanan lambda ifadesini yorumlanmış veya derlenmiş kodda derler ve lambda ifadesini temsil eden bir temsilci oluşturur.

Compile(DebugInfoGenerator)

Lambda ifadesini temsil eden bir temsilci oluşturur.

Compile()

Kaynak:
LambdaExpression.cs
Kaynak:
LambdaExpression.cs
Kaynak:
LambdaExpression.cs

İfade ağacı tarafından açıklanan lambda ifadesini yürütülebilir kod olarak derler ve lambda ifadesini temsil eden bir temsilci oluşturur.

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

Döndürülenler

TDelegate

tarafından Expression<TDelegate>açıklanan derlenmiş lambda ifadesini temsil eden tür TDelegate temsilcisi.

Örnekler

Aşağıdaki kod örneği, bir ifade ağacını yürütmek için nasıl Compile kullanıldığını gösterir.


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

yöntemi, Compile çalışma zamanında türünde TDelegate bir temsilci oluşturur. Bu temsilci yürütürken, semantiği tarafından açıklanan davranışa Expression<TDelegate>sahiptir.

yöntemi Compile herhangi bir ifade ağacının değerini almak için kullanılabilir. İlk olarak, yöntemini kullanarak Lambda gövdesi olarak ifadeyi içeren bir lambda ifadesi oluşturun. Ardından çağırarak Compile bir temsilci alın ve temsilciyi yürüterek ifadenin değerini alın.

Şunlara uygulanır

Compile(Boolean)

Kaynak:
LambdaExpression.cs
Kaynak:
LambdaExpression.cs
Kaynak:
LambdaExpression.cs

İfade ağacı tarafından açıklanan lambda ifadesini yorumlanmış veya derlenmiş kodda derler ve lambda ifadesini temsil eden bir temsilci oluşturur.

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 ifadesi varsa yorumlanmış bir forma derlenmesi gerektiğini belirtmek için; false Aksi takdir -de.

Döndürülenler

TDelegate

tarafından açıklanan derlenmiş lambda ifadesini temsil eden bir Expression<TDelegate>temsilci.

Şunlara uygulanır

Compile(DebugInfoGenerator)

Kaynak:
LambdaExpression.cs
Kaynak:
LambdaExpression.cs
Kaynak:
LambdaExpression.cs

Lambda ifadesini temsil eden bir temsilci oluşturur.

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 dizi noktalarını işaretlemek ve yerel değişkenlere açıklama eklemek için kullanılan hata ayıklama bilgi oluşturucusu.

Döndürülenler

TDelegate

Lambda'nın derlenmiş sürümünü içeren bir temsilci.

Şunlara uygulanır