Ce programme à pour but de montrer comment on peut exécuter du code vb.net (ou c#) pendant l'exécution.
Ce n'est qu'une façon de procéder parmi d'autres.
Pour pouvoir tester ce code il faut :
* Créer un formulaire sur lequel on place 2 objets :
- un bouton appelé cmdExec
- un RichTextBox appelé RTB
* Créer une class appelée DynamicCode
Si vous souhaitez ajouter une référence à votre code qui est en cours d'exécution il faut l'ajouter au paramètre CP comme suit :
CP.ReferencedAssemblies.Add(System.Reflection.As sembly.GetExecutingAssembly.Location)
Dans ce cas, il ne faut pas oublié d'ajouter les références liées à votre projet. Exemple :
CP.ReferencedAssemblies.Add("System.Windows.Form s.dll")
Pour intégrer une gestion d'erreur il faut stocker les messages car il peut y en avoir plusieur à suivre dans la procedure de compilation. On pourrait la retravailler comme suit :
Dim CR As CodeDom.Compiler.CompilerResults = CDP.CompileAssemblyFromSource(CP, sCodeSource)
Try
Return CR.CompiledAssembly
Catch ex As Exception
For i As Integer = 0 To CR.Errors.Count - 1
'procedure contenant un RichTextBox sur lequel on ajoute les messages d'erreur
addMessage(CR.Errors.Item(i).ErrorText)
Next
Return Nothing
End Try