pelaksanaan dinamik fail teks c# code fragment
<:> Soalan:
Bolehkah serpihan kod C# disimpan dalam fail teks dan melaksanakannya secara dinamik? Untuk mendapatkan prestasi terbaik, adakah saya harus menyusun kod terlebih dahulu?
Jawapan:
Ya, anda boleh menyusun dan melaksanakan fragmen kod C#. Untuk bahasa statik .net seperti c#, cara terbaik ialah menggunakan codedom (model objek dokumen kod). CodeDom boleh membina dan melaksanakan serpihan kod secara dinamik.
dari kod kompilasi teks:
Untuk menyusun kod dari teks, sila gunakan CompileasSemblyFromSource:
<code class="language-csharp">using System.CodeDom.Compiler; using Microsoft.CSharp; var csc = new CSharpCodeProvider(new Dictionary<string, string>() { { "CompilerVersion", "v3.5" } });</code>
Selepas penyusunan selesai, gunakan refleksi untuk memuatkan secara dinamik dan laksanakan perhimpunan:
Kelebihan kaedah ini ialah prestasi telah diperbaiki kerana kod telah disusun sebelum pelaksanaan.
<code class="language-csharp">var parameters = new CompilerParameters(new[] { "mscorlib.dll", "System.Core.dll" }, "foo.exe", true); parameters.GenerateExecutable = true; CompilerResults results = csc.CompileAssemblyFromSource(parameters, codeText);</code>
Atas ialah kandungan terperinci Bolehkah serpihan kod C# dilaksanakan secara dinamik dari fail teks, dan sekiranya mereka disusun untuk prestasi yang optimum?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!