Maison >développement back-end >C++ >Comment puis-je réaliser l'exécution de code dynamique en C # comme EVAL () de JavaScript?

Comment puis-je réaliser l'exécution de code dynamique en C # comme EVAL () de JavaScript?

DDD
DDDoriginal
2025-01-28 05:41:11871parcourir

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

Le code dynamique du C # exécute

Similaire à la fonction

dans JavaScript, C # peut utiliser l'API de script Roslyn pour implémenter le code dynamique. Cette API vous permet de compiler et d'exécuter dynamiquement le code C # au moment de l'exécution.

eval() Exemple:

Supposons que vous ayez une variable entière et plusieurs attributs tels que "Property1", "Property2", "Property3". Vous souhaitez effectuer des opérations sur l'attribut "Property

i

" en fonction de la valeur i. i Solution utilisant l'API de script Roslyn:

Cet exemple charge dynamiquement l'assemblage et accédez à l'attribut en fonction de la valeur .

<code class="language-csharp">// 添加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);");</code>
Autres fonctions:

i

L'API de script Roslyn vous permet d'exécuter n'importe quel fragment de code C #:

Vous pouvez également citer le code précédemment compilé:

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn