Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah saya dapat mencapai pelaksanaan kod dinamik di C# seperti eval JavaScript ()?

Bagaimanakah saya dapat mencapai pelaksanaan kod dinamik di C# seperti eval JavaScript ()?

DDD
Lepaskan: 2025-01-28 05:41:11
asal
909 orang telah melayarinya

How Can I Achieve Dynamic Code Execution in C# Like JavaScript's eval()?

Kod dinamik dalam C#melaksanakan

Sama seperti fungsi

dalam JavaScript, C#boleh menggunakan API Skrip Roslyn untuk melaksanakan kod dinamik. API ini membolehkan anda menyusun dan melaksanakan kod C#pada masa runtime.

eval() Contoh:

Katakan anda mempunyai pembolehubah integer dan pelbagai atribut seperti "property1", "property2", "property3". Anda ingin melaksanakan operasi pada atribut "Harta

i i Penyelesaian Menggunakan Roslyn Script API: i Contoh ini secara dinamik memuatkan pemasangan dan mengakses atribut mengikut nilai

. Fungsi lain:

// 添加NuGet包 'Microsoft.CodeAnalysis.Scripting'
using Microsoft.CodeAnalysis.CSharp.Scripting;

await CSharpScript.EvaluateAsync($"System.Reflection.Assembly.LoadFrom(\"{new FileInfo(\"your-assembly-to-load.dll\").FullName}\")");

await CSharpScript.RunAsync($"var propertyValue = typeof(YourType).GetProperty(\"Property{i}\").GetValue(yourTypeInstance);");
Salin selepas log masuk

Roslyn Script API membolehkan anda melaksanakan apa -apa fragmen kod C#: i

anda juga boleh memetik kod yang dikumpulkan sebelumnya:

Atas ialah kandungan terperinci Bagaimanakah saya dapat mencapai pelaksanaan kod dinamik di C# seperti eval JavaScript ()?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan