hi,
ich würde gern ein programm schreiben das man mit Plugins erweiterbar is
ich bin mir aber noch sehr unschlüssig über die umsetztung. Ich hab mir das ungefärh so vorgestellt:
Es soll einen PlugIn Ordner geben wo die PlugIns dann alle drin sind, in form von dll´s oder so.
Im Hauptprogramm gibt es dann ein TabControl und für jedes neue Plugin was aktiviert ist gibs nen neuen Tab
so war jetzt erstmal meine grund überlegung ... is das so in etwa umsetztbar? oder gibs da bessere möglichkeiten?
Ich glaube bevor du dir Gedanken über die GUI machst solltest du erst einmal schauen wie du diese Plugins überhaupt in dein Programm laden gedenkst 😉. So einfach ne DLL irgendwohin legen bringt dein Programm schließlich nicht dazu diese auch zu beachten und zu laden.
So einfach ne DLL irgendwohin legen bringt dein Programm schließlich nicht dazu diese auch zu beachten und zu laden.
Das bekommt er dann aber mit 5 Zeilen Code hin. 😃
Wissen ist nicht alles. Man muss es auch anwenden können.
PS Fritz!Box API - TR-064 Schnittstelle | PS EventLogManager |
ja, es ging mir auch unter anderem darum wie ich mein prog auf eine dll reagieren lassen kann
denn ich wüsste nich wie ich das zur laufzeit machen kann
aber 5 zeilen scheinen nich so schwer zu sein 😄
wie würde sowas denn dann ungefähr aussehn?
Hallo,
Für Pluginfunktionalität bietet dir das MEF (Microsoft Extensibility Framework) eine gute Basis.
MSDN Artikel:
Managed Extensibility Framework Overview
Ein Beispiel über die Verwendung des MEF:
FileSystemWatcher mit MEF / Neue Plugins automatisch nachladen
Alternativ zum MEF gibt es auch noch folgende Vorgehensweise:
1.) Interface erstellen, von welchem die .dll's die du laden willst ableiten (einfachste Form einfach nur eine "PluginStart()" Methode.
2.) Die .dll's im Ordner über die integrierten Reflection Technologie des .NET Frameworks einlesen und prüfen ob sie das Interface ableiten.
3.) Die "PluginStart()" Methode der .dll Aufrufen.
Hi Coooder,
hast du schonmal auf CodeProject geschaut? Da gibt es nämlich ne Menge Artikel dazu, z.B. ...
Task Plug-in: A Flexible .NET Plug-in Architecture
A Simple Plug-In Library For .NET
Plugin Architecture using C#
Christian
Weeks of programming can save you hours of planning
Hallo Coooder,
man muss gar nicht in die Ferne schweifen. Auch hier im Forum gibt es dazu was, sogar in der FAQ [FAQ] Eigene Anwendung pluginfähig machen und in vielen anderen Theads, die man leicht über die Forensuche findet.
Insofern gilt für diesen Thread hier in erster Linie mal [Hinweis] Wie poste ich richtig? Punkt 1.1. Mit etwas mehr Eigeninitiative im Vorfeld wäre der Thread überflüssig gewesen.
Einzige der Wunsch, dass die Plugins auch ihr GUI beinhalten sollten ist etwas spezieller, wenn auch nicht wirklich ungewöhnlich. Das Generic Manipulator Tool zeigt einen Weg, wie man die Plugins unabhängig von einer konkreten GUI-Technologie macht.
herbivore