Zum Inhalt springen

Empfohlene Beiträge

Geschrieben (bearbeitet)

Hallo. Ich hab eine kleines Problem, bei dem ich gerade nicht weiterkommen.

Situation:

Ich hab einen Ordner, in dem leg in DLL's ab, welche alle über eine bestimmte Funktione "ShowApp" verfügen.

Nun möchte ich über alle DLL's in diesem Ordner iterieren und für jede DLL die Funktion "ShowApp" aufrufen.

Ich weiß, dass ich über System.Reflection.Assembly.LoadFile(...) an die DLL's rankomm.

Über folgengen Code komm ich auch an die Funktion ran:


Assembly assembly = Assembly.LoadFile(file);

MethodInfo methodShow = assembly.GetTypes()[assembly.GetTypes().Length - 1].GetMethod("ShowApp");

Nur weiß ich jetzt nicht, wie ich die Funktion ausführ :(

Die Funktion methodShow.Invoke(...) will als Parameter 2 Objects, wobei man beim zweiten null angeben kann. Beim ersten will er ein Objekt, wo er es hinspeichern kann. Ich weiß grad aber nicht wie ich das anstellen soll. Was geb ich ihm da mit? Assembly?

Oder muss ich in dem Programm, dass die anderen DLL's aufrufen soll, ein Interface oder eine Klasse hinzufügen, welche ebenfalls über die Funktion "ShowApp" verfügt.

Hab es jetzt ewig versucht und weiß einfach nimmer weiter.

[EDIT]

Ich bekomm bei allen Versuchen immer folgende Fehlermeldung:

"Object does not match target type."

Bearbeitet von Rekon1602
Geschrieben

Stimmt. Aber dieses Objekt kenn ich nicht zur compilierzeit.

Aber ich hab mein Problem mittlerweile gelöst.

Falls es jemanden interessiert.


Assembly assembly = Assembly.LoadFile(file);

dynamic dyn = assembly.CreateInstance(assembly.GetTypes()[assembly.GetTypes().Length - 1].ToString());

Jetzt kann ich dyn so verwenden wie die Klasse, die es zur Laufzeit annimmt. Nur das Intellisense vom VisualStudio funktioniert nicht. Is aber auch klar warum :)

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...