Maison >développement back-end >C++ >Comment puis-je exécuter dynamiquement du code C# à partir d'un fichier dans une application WPF ?
Exécution dynamique des fichiers de code C#
Question :
Votre application WPF C# est livrée avec un bouton qui doit exécuter le code stocké dans un fichier texte distinct dans le répertoire d'exécution de l'application.
Solution :
Pour exécuter dynamiquement du code dans un fichier texte, suivez ces étapes :
Voici un exemple de code sur la façon d'exécuter une méthode de classe compilée dynamiquement :
<code class="language-csharp">using System; using System.Collections.Generic; using System.Text; using System.Diagnostics; using System.IO; using System.Reflection; using System.Net; using Microsoft.CSharp; using System.CodeDom.Compiler; namespace ConsoleApplication2 { class Program { static void Main(string[] args) { string source = @" namespace Foo { public class Bar { public void SayHello() { System.Console.WriteLine(""Hello World""); } } } "; Dictionary<string, string> providerOptions = new Dictionary<string, string> { {"CompilerVersion", "v3.5"} }; CSharpCodeProvider provider = new CSharpCodeProvider(providerOptions); CompilerParameters compilerParams = new CompilerParameters {GenerateInMemory = true, GenerateExecutable = false}; CompilerResults results = provider.CompileAssemblyFromSource(compilerParams, source); if (results.Errors.Count != 0) throw new Exception("编译失败!"); object o = results.CompiledAssembly.CreateInstance("Foo.Bar"); MethodInfo mi = o.GetType().GetMethod("SayHello"); mi.Invoke(o, null); } } }</code>
En suivant ces étapes, vous pouvez exécuter dynamiquement du code C# à partir d'un fichier de code dans une application WPF.
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!