Zur Laufzeit Modul kompilieren und darauf zugreifen
-
Also,
zur Laufzeit erstelle ich ein cs file, welches eine simple klasse enthält:
using System; namespace WindowsFormsApplication1 { class bla { public int xyz; public bla(){} publis void setbla(int val){xyz = val;} } }
Ich muss nun auf diese Klasse zugreifen können. Also kompiliere ich diese und erstelle eine DLL. Das sollte doch prinzipiell machbar sein, mit der obigen Klasse oder?
Dazu habe ich dieses Beispiel verwendet und anstatt einer EXE, eine DLL daraus gemacht http:
http://msdn.microsoft.com/en-us/library/system.codedom.compiler.compilerparameters.generateexecutable.aspx
Hat auch soweit geklappt.Wie binde ich diese nun zur Laufzeit ein? Muss ich dazu eine neue Domäne anlegen? Weil wenn ich mir das so anschaue, verstehe ich nur Bahnhof!
Kann mir jemand weiterhelfen?
-
Zum erstellen einer DLL wäre vielleicht dieser Link interessant, sofern du es nicht bereits so gelöst hast. Läuft am Ende auf das Gleiche hinaus, gibt dir nur eine andere Möglichkeit, wie du den Code zur Verfügung stellen kannst.
Um eine DLL dynamisch zu binden, kannst du dir mal diese Dokumentation anschauen:
http://msdn.microsoft.com/en-us/library/7hcs6az6.aspxGrüssli
-
habe es hinbekommen:
var assembly = System.Reflection.Assembly.LoadFrom(@"c:\assembly.dll"); var type = assembly.GetType("namespace.Klassenname"); object instance = Activator.CreateInstance(type);
danke