Conseils pour évaluer dynamiquement les expressions C# au moment de l'exécution
Dans le développement de logiciels, il est parfois nécessaire d'évaluer dynamiquement les expressions C# au moment de l'exécution. Cet article fournira une solution moderne et efficace.
L'approche traditionnelle utilise généralement CSharpCodeProvider
pour compiler et exécuter des expressions, mais cette approche est obsolète et n'est plus conforme aux meilleures pratiques C# modernes.
Une meilleure approche consiste à utiliser l'API Roslyn Scripting. L'API fournit un moteur dédié pour évaluer dynamiquement les scripts et expressions C#, simplifiant ainsi le processus d'évaluation des expressions :
<code class="language-csharp">using Microsoft.CodeAnalysis.CSharp.Scripting; var result = CSharpScript.EvaluateAsync("1 + 3").Result;</code>
Cet exemple évalue l'expression "1 3" et attribue le résultat à la variable result
. Pour évaluer un fragment de code avec un type de données spécifique, vous pouvez utiliser la méthode générique correspondante :
<code class="language-csharp">var now = CSharpScript.EvaluateAsync<string>("System.DateTime.Now.ToString()").Result;</code>
L'API de script Roslyn prend également en charge la transmission de paramètres, la gestion des espaces de noms et la gestion de scénarios plus complexes. Pour plus d'informations, veuillez vous référer à la documentation officielle : https://www.php.cn/link/150353f887435acbf6ef0a57e4a3dbca
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!