Laden...

Klasse in DLL die Interface implementiert dynamisch laden

Erstellt von prakti08 vor 11 Jahren Letzter Beitrag vor 11 Jahren 1.523 Views
Thema geschlossen
P
prakti08 Themenstarter:in
321 Beiträge seit 2008
vor 11 Jahren
Klasse in DLL die Interface implementiert dynamisch laden

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.

Z
403 Beiträge seit 2007
vor 11 Jahren

Hallo prakti08,

eine Möglichkeit wäre über Reflections zu gehen.

Dazu gibt es hier im Forum eine Menge, einfach mal suchen.

André

5.658 Beiträge seit 2006
vor 11 Jahren

Hi prakti08,

schau mal hier: [FAQ] Eigene Anwendung pluginfähig machen

Christian

Weeks of programming can save you hours of planning

6.911 Beiträge seit 2009
vor 11 Jahren

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!"

Hinweis von herbivore vor 11 Jahren

Das Thema Plugins wurde schon öfter besprochen, - sowohl im Forum als auch im Netz - so dass sich weitere Informationen leicht finden lassen.

Thema geschlossen