Je donne la possibilité à l'utilisateur d'entrer des chaînes avec des clés uniques représentant un opérateur complexe C# sur une ligne (une ligne de code comme '2 + (a - (x & & y? 1: 7)) » opérateur peut utiliser Nullable<bool>
et Nullable<double>
les variables Au début je Dictionary<string, object>
des valeurs prédéfinies L'utilisateur peut utiliser ces variables et opérateurs Standart C#:... +, -, *, /, & &, ||, !,(),>,> =, <, < =, ==,! =,? A: b, ??.Compilation dynamique C# et génération de code
Je dois réutiliser C# opérateurs mécanisme de priorité et les erreurs de compilation, les avertissements et les messages (qui va à la sortie après la compilation)
- comment compiler une chaîne d'entrée et obtenir des messages d'erreur?
- comment prédéfinir les variables utilisées dans la chaîne, avant la compilation (générer un code comme
var x = new Nullable<bool>(true);
ou autre)? - est-il possible d'obtenir des messages d'erreur en langue russe?
- Puis-je stocker le résultat de la compilation pour améliorer la perfomance (la fonction sera appelée plusieurs fois plus tard)?