Maison >développement back-end >C++ >Les fragments de code C # peuvent-ils être exécutés dynamiquement à partir d'un fichier texte et devraient-ils être compilés pour des performances optimales?
Exécution dynamique du fichier texte C # fragment de code
Question:
Le fragment de code C # peut-il être stocké dans le fichier texte et l'exécuter dynamiquement? Afin d'obtenir les meilleures performances, dois-je d'abord compiler le code?
Réponse:
Oui, vous pouvez compiler et exécuter dynamiquement le fragment de code C #. Pour le langage .NET statique comme C #, la meilleure façon est d'utiliser le modèle de codé (modèle d'objet de document de code). La codéation peut construire et exécuter dynamiquement des fragments de code.
CSharpCodeProvider fournit une interface pour compiler le code C #. Exemples comme suit:
à partir du code de compilation de texte:
Pour compiler le code à partir du texte, veuillez utiliser CompileSemblyFromsource:
<code class="language-csharp">using System.CodeDom.Compiler; using Microsoft.CSharp; var csc = new CSharpCodeProvider(new Dictionary<string, string>() { { "CompilerVersion", "v3.5" } });</code>
Exécutez le code compilé (utilisez la réflexion):
Une fois la compilation terminée, utilisez la réflexion pour charger et exécuter dynamiquement l'assemblage:
<code class="language-csharp">var parameters = new CompilerParameters(new[] { "mscorlib.dll", "System.Core.dll" }, "foo.exe", true); parameters.GenerateExecutable = true; CompilerResults results = csc.CompileAssemblyFromSource(parameters, codeText);</code>L'avantage de cette méthode est que les performances ont été améliorées car le code a été compilé avant l'exécution.
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!