Hallo,
ich habe ein Projekt in dem ich Daten verschlüsseln, hashen, etc. muss. Um das Projekt ein bisschen offener zu halten, wollte ich nun dieses Datenhandling in Dlls auslagern. Dafür habe ich mir verschiedene Interfaces angelegt mit denen ich in meinem Projekt arbeite, die auch in den Dlls verwendet werden. Allerdings finde ich das ganze unschön wie es jetzt ist.
Ich habe die Dlls zum Datenhandling fest eingebunden (Verweise angelegt) damit ich sie benutzen kann. Außerdem rufe ich diese über einen festen Namen auf.
Bspw:
IMac mac= new Mac.Mac(); // Mac.Mac() ist in der Dll
mac.CreateMac(message,key);
Jetzt kann ich ja die Dlls einfach überschreiben und es funktioniert weiterhin solange die Namen übereinstimmen. (Datei,Namespace,Klasse)
Geht das ganze auch dynamischer?
Ich möchte das der Name der Datei egal ist und in den Settings angegeben werden kann. Außerdem sollte der Klassenname egal sein, solange sie das passende Interface implementiert.
Ist das möglich? Oder gäbe es eine schönere Möglichkeit mein Vorhaben umzusetzen?
Viele Grüße
prakti
Use the source, Luke!
Nur, weil man vor sich eine CPU hat, muß man das Denken nicht
einstellen.
Hallo prakti08,
eine Möglichkeit wäre über Reflections zu gehen.
Dazu gibt es hier im Forum eine Menge, einfach mal suchen.
André
Weeks of programming can save you hours of planning
Hallo prakti08,
Ich möchte das der Name der Datei egal ist und in den Settings angegeben werden kann. Außerdem sollte der Klassenname egal sein, solange sie das passende Interface implementiert.
ein passendes Stichwort hierzu: IoC- od. DI-Container. Ich denke das suchst du.
mfG Gü
Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.
"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"
Das Thema Plugins wurde schon öfter besprochen, - sowohl im Forum als auch im Netz - so dass sich weitere Informationen leicht finden lassen.