Assemblies/DLL in C#



  • Hi,

    ich lese mir gerade ein paar Artikel über Plugin-Systeme in C# durch doch irgendwie ist mir eins noch nicht ganz klar.

    Also ich habe zB ein Interface IPlugin, das mir eben ein Interface für weitere Plugins bietet. Dann habe ich meinen Part um die Dlls zu laden usw usf. Doch ist dies nicht das Problem. Wenn ich jetzt mein Projekt erstellt und compiliert habe und jemand will ein Plugin dafür schreiben, dann müsste er ja das IPlugin Interface kennen, um dieses zu implementieren.

    Heißt das, ich muss (zu meinere exe) meine IPlugin.cs mit rausgeben, damit jemand ein Plugin für meine Software schreiben kann? Oder gibt es da ne andere herangehensweise?



  • Wenn ein Plugin-Entwickler deine Assembly referenziert und diese IPlugin als öffentlichen Typen anbietet, reicht das. Der Quelltext ist unnötig.



  • Bashar schrieb:

    Wenn ein Plugin-Entwickler deine Assembly referenziert und diese IPlugin als öffentlichen Typen anbietet, reicht das. Der Quelltext ist unnötig.

    Dh ich packe meine IPlugin auch in eine Assembly und gebe diese mit der exe raus?
    *confused*



  • KasF schrieb:

    Bashar schrieb:

    Wenn ein Plugin-Entwickler deine Assembly referenziert und diese IPlugin als öffentlichen Typen anbietet, reicht das. Der Quelltext ist unnötig.

    Dh ich packe meine IPlugin auch in eine Assembly und gebe diese mit der exe raus?
    *confused*

    Richtig.



  • KasF schrieb:

    Dh ich packe meine IPlugin auch in eine Assembly und gebe diese mit der exe raus?
    *confused*

    Ja, du machst eine Assembly mit Dieser (und ggf. anderen für externe relevanten Klassen), und sowohl du wie deine Kunden/Anwender verwenden diese falls sie Plugins schreiben.



  • Danke euch! 🙂


Log in to reply