Expression<TDelegate>.Compile Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Overload
Compile() |
Mengkompilasi ekspresi lambda yang dijelaskan oleh pohon ekspresi ke dalam kode yang dapat dieksekusi dan menghasilkan delegasi yang mewakili ekspresi lambda. |
Compile(Boolean) |
Mengkompilasi ekspresi lambda yang dijelaskan oleh pohon ekspresi ke dalam kode yang ditafsirkan atau dikompilasi dan menghasilkan delegasi yang mewakili ekspresi lambda. |
Compile(DebugInfoGenerator) |
Menghasilkan delegasi yang mewakili ekspresi lambda. |
Compile()
- Sumber:
- LambdaExpression.cs
- Sumber:
- LambdaExpression.cs
- Sumber:
- LambdaExpression.cs
Mengkompilasi ekspresi lambda yang dijelaskan oleh pohon ekspresi ke dalam kode yang dapat dieksekusi dan menghasilkan delegasi yang mewakili ekspresi lambda.
public:
TDelegate Compile();
public TDelegate Compile ();
override this.Compile : unit -> 'Delegate
Public Function Compile () As TDelegate
Mengembalikan
Delegasi jenis TDelegate
yang mewakili ekspresi lambda yang dikompilasi yang dijelaskan oleh Expression<TDelegate>.
Contoh
Contoh kode berikut menunjukkan bagaimana Compile digunakan untuk menjalankan pohon ekspresi.
// 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
Keterangan
Metode ini Compile menghasilkan delegasi jenis TDelegate
saat runtime. Ketika delegasi tersebut dijalankan, delegasi tersebut memiliki perilaku yang dijelaskan oleh semantik Expression<TDelegate>.
Metode Compile ini dapat digunakan untuk mendapatkan nilai pohon ekspresi apa pun. Pertama, buat ekspresi lambda yang memiliki ekspresi sebagai isinya dengan menggunakan Lambda metode . Kemudian panggil Compile untuk mendapatkan delegasi, dan jalankan delegasi untuk mendapatkan nilai ekspresi.
Berlaku untuk
Compile(Boolean)
- Sumber:
- LambdaExpression.cs
- Sumber:
- LambdaExpression.cs
- Sumber:
- LambdaExpression.cs
Mengkompilasi ekspresi lambda yang dijelaskan oleh pohon ekspresi ke dalam kode yang ditafsirkan atau dikompilasi dan menghasilkan delegasi yang mewakili ekspresi lambda.
public:
TDelegate Compile(bool preferInterpretation);
public TDelegate Compile (bool preferInterpretation);
override this.Compile : bool -> 'Delegate
Public Function Compile (preferInterpretation As Boolean) As TDelegate
Parameter
- preferInterpretation
- Boolean
true
untuk menunjukkan bahwa ekspresi harus dikompilasi ke formulir yang ditafsirkan, jika tersedia; false
Sebaliknya.
Mengembalikan
Delegasi yang mewakili ekspresi lambda yang dikompilasi yang dijelaskan oleh Expression<TDelegate>.
Berlaku untuk
Compile(DebugInfoGenerator)
- Sumber:
- LambdaExpression.cs
- Sumber:
- LambdaExpression.cs
- Sumber:
- LambdaExpression.cs
Menghasilkan delegasi yang mewakili ekspresi lambda.
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
Parameter
- debugInfoGenerator
- DebugInfoGenerator
Generator informasi penelusuran kesalahan yang digunakan oleh pengompilasi untuk menandai titik urutan dan membuat anotasi variabel lokal.
Mengembalikan
Delegasi yang berisi versi lambda yang dikompilasi.