Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah saya dapat mencapai penilaian kod dinamik dalam c# seperti `eval ()` `?

Bagaimanakah saya dapat mencapai penilaian kod dinamik dalam c# seperti `eval ()` `?

Barbara Streisand
Lepaskan: 2025-01-28 05:51:09
asal
434 orang telah melayarinya

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

Melaksanakan pelaksanaan kod dinamik dalam C#

Artikel ini membincangkan cara melaksanakan kod secara dinamik dalam C#, sama dengan fungsi

dalam JavaScript.

eval() Penerangan Masalah

Katakan anda mempunyai pembolehubah integer dan pelbagai atribut yang dipanggil "Property1", "Property2", "Property3" dan atribut lain. Menurut nilai , anda ingin melakukan operasi pada atribut "harta

i " yang sepadan. Gunakan

dalam JavaScript untuk menyelesaikan tugas ini dengan mudah, tetapi bagaimana untuk mencapainya di C#? i i Penyelesaian Menggunakan Roslyn Script Api eval() Roslyn Script API menyediakan penyelesaian untuk penilaian kod dinamik di C#. Ia mengandungi satu set kelas yang membolehkan anda melaksanakan kod C#semasa runtime.

kod sampel

untuk menilai ekspresi mudah, gunakan

kaedah:

Untuk kod yang lebih rumit, anda boleh menggunakan kaedah:

EvaluateAsync() maka anda boleh menghubungi

terus melaksanakan kod:
// 添加NuGet包 'Microsoft.CodeAnalysis.Scripting'
using Microsoft.CodeAnalysis.CSharp.Scripting;

await CSharpScript.EvaluateAsync("System.Math.Pow(2, 4)"); // 返回16
Salin selepas log masuk

RunAsync() Ini membolehkan anda melaksanakan kod C#dan berinteraksi dengan objek yang dihasilkan secara dinamik.

Atas ialah kandungan terperinci Bagaimanakah saya dapat mencapai penilaian kod dinamik dalam c# seperti `eval ()` `?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan