Idexe Geschrieben 17. Dezember 2003 Teilen Geschrieben 17. Dezember 2003 Hallo, in der "normalen" Windowsprogrammierung kann ich einem Programm sagen (z.B. in einer Config-Datei) es soll eine dll laden und dann kucken ob diese eine bestimmte Funktion exportiert und wenn sie das tut soll diese Funktion ausgeführt werden. z.B. soll ein Addin seine Menupunkte ins Menü einfügen (vereinfacht) AddIn1.dll LoadLibrary(AddIn1.dll) MENUADDFUNKTION func = (MENUADDFUNKTION)GetProcAddress(AddToMenu) func(&myMenu); Ich denke das ist doch der normale Mechanismus für AddIns Gibt es in .NET eine Möglichkeit das so zu machen ohne auf native-dlls zuzugreifen ? Thx for comments Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
just_me Geschrieben 18. Dezember 2003 Teilen Geschrieben 18. Dezember 2003 Es gibt drei mögliche Wege, PlugIn’s zu realisieren. 1. Schnittstellen 2. Basisklassen 3. Attribute Sie besitzen alle unterschiedliche Vor- und Nachteile. (Ich persönlich bevorzuge die Schnittstellenimplementierung.) Der Weg ist jedoch bei allen identisch: (Ich gehe davon aus, dass du mit den Grundlagen vertraut bist und lasse daher die Details weg.) 1. Laden des Assemblies in die lokale AnwendungsdomäneSystem.Reflection.Assembly assembly = System.Reflection.Assembly.Load([i]PlugIn[/i]); [i]oder[/i] System.Reflection.Assembly assembly = System.Reflection.Assembly.LoadFrom([i]PlugIn[/i]); (LoadWithPartialName ist aus Sicherheitsgründen nicht zu empfehlen.) 2. Holen der exportierten TypenType[] types = assembly.GetExportedTypes(); 3. InstanziierenSystem.Activator.CreateInstance(types[0], args);[/i] That’s it... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.