Le code dynamique en C # exécute
L'évaluation du code dynamique est une technologie puissante pour créer des applications dynamiques et flexibles. Bien que JavaScript utilise la fonction EVAL () pour atteindre cet objectif, C # fournit différentes méthodes pour atteindre des fonctions similaires.
Utilisez l'API de script Roslyn
L'API de script Roslyn prend en charge l'exécution dynamique du code C #. Considérez l'exemple des attributs de différents noms en fonction de la variable entière I.
Exemple de code:
<code class="language-csharp">// 假设您有一个整数变量'i'
// 创建一个表示所需属性名称的字符串
var propertyName = "Property" + i.ToString();
// 使用CSharpScript.EvaluateAsync动态执行代码
dynamic result = await CSharpScript.EvaluateAsync($"typeof(MyClass).GetProperty(\"{propertyName}\")?.GetValue(myObj)");</code>
Explication:
Ici, csharpscript.evaluasync accepte la chaîne du code qui représente le code et renvoie un objet dynamique contenant le résultat. Cette chaîne contient:
Méthode GetProperty, recherchez l'attribut en fonction du nom.
MyObj est une instance de la classe contenant l'attribut. -
Méthode GetValue Pour obtenir la valeur de l'attribut. -
- Cette méthode fournit la fonction des attributs d'accès dynamique flexibles, similaires à la fonction EVAL () en JavaScript.
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