Maison > développement back-end > C++ > Comment puis-je évaluer dynamiquement les expressions C# au moment de l'exécution à l'aide de Roslyn ?

Comment puis-je évaluer dynamiquement les expressions C# au moment de l'exécution à l'aide de Roslyn ?

Susan Sarandon
Libérer: 2025-01-25 23:16:11
original
545 Les gens l'ont consulté

How Can I Dynamically Evaluate C# Expressions at Runtime Using Roslyn?

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>
Copier après la connexion

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal