d'exécuter du code c# au moment de l'exécution du fichier de code
J'ai un WPF C# application qui contient un bouton.
Le code de clic du bouton est écrit dans le fichier texte qui sera placé dans les applications répertoire d'exécution.
Je veux exécuter que le code placé dans le fichier texte sur le clic du bouton.
Une idée de comment faire cela?
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser
Microsoft.CSharp.CSharpCodeProvider
de compiler du code à la volée. En particulier, voir CompileAssemblyFromFile.Exemple de Code pour l'exécution des compilé à la volée de la méthode de classe:
Je recommande d'avoir un coup d'oeil à Microsoft Roslyn, et en particulier de son
ScriptEngine
classe.Voici quelques exemples pour commencer:
Exemple d'utilisation:
Install-Package Roslyn
On dirait que quelqu'un a créé une bibliothèque pour cela appelé C# Eval.
EDIT: lien mis à Jour pour pointer vers Archive.org comme il semble que la site d'origine est mort.
Ce que vous avez besoin est un CSharpCodeProvider Classe
Il y a plusieurs échantillons afin de comprendre comment cela fonctionne.
1 http://www.codeproject.com/Articles/12499/Run-Time-Code-Generation-I-Compile-C-Code-using-Mi
Le point important de cet exemple que vous pouvez faire toutes les choses sur flay en fait.
2 http://www.codeproject.com/Articles/10324/Compiling-code-during-runtime
Cet exemple est une bonne coz vous pouvez créer un fichier dll et donc il peut être partagé entre d'autres applications.
Fondamentalement, vous pouvez rechercher http://www.codeproject.com/search.aspx?q=csharpcodeprovider&x=0&y=0&sbo=kw&pgnum=6 et obtenir plus de liens utiles.