Zum Inhalt springen

AddIn-Meschanismus in C#


Empfohlene Beiträge

Geschrieben

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

Geschrieben

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äne

System.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 Typen
Type[] types = assembly.GetExportedTypes();
3. Instanziieren
System.Activator.CreateInstance(types[0], args);[/i]

That’s it...

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...