Plugin-basierte Anwendung in C #

Ich muss eine grafische Benutzeroberfläche in der Sprache meiner Wahl erstellen. Die Anwendung wird unter Windows XP ausgeführt. Es wird eine Art komplexe Windows-Formularanwendung sein. Ich denke, und gemäß den meisten Vorschlägen wird C # am besten zu verwenden sein. Die Baumstruktur auf der linken Seite der Benutzeroberfläche wird nach dem Lesen aus einer Konfigurationsdatei, die eine Binärdatei ist, ausgefüllt. (Aber zunächst kann ich mit einer einfachen ASCII-Datei arbeiten, um meinen Code zu testen.) Die Anwendung akzeptiert einige Eingaben des Benutzers über diese GUI und schreibt sie in dieselbe Konfigurationsdatei zurück und spiegelt die Änderungen in der Baumstruktur oder den Beschriftungen oder anderen relevanten Feldern des Formulars wider.

Es gibt 3 Registerkarten und 3 entsprechende Konfigurationsdateien für jede der Registerkarten. Ich brauche vorerst Hilfe beim Entwerfen der Anwendung. Ich plane, eine Host-Anwendung (Hauptanwendung) zu erstellen und die 3 Register-Steuerelemente als Plugins zu verwenden. Ist das machbar? Wenn ja, leiten Sie mich bitte weiter. Ich meine, wie mache ich 3 Plugins in C # und wie schreibe ich die Schnittstellen, damit die Hauptanwendung weiß, welches Plugin zu laden ist und wann es zu laden ist? Wird es unter meinem Projektordner einen separaten Plugin-Ordner geben? Ich hoffe, Sie haben verstanden, dass dies zu wenig Information ist, als dass Sie damit beginnen könnten.

Außerdem sind im Projekt bereits einige CPP-Dateien vorhanden. Diese Dateien enthalten zusammen mit einigen .h-Dateien einige wichtige Definitionen und Konstanten. Diese müssen in meine C # -Anwendung integriert werden. Ich habe keine Ahnung, wie das geht, aber ich bin mir sicher, dass es möglich ist, den CPP-Code in einer DLL zu kompilieren und die kompilierte DLL dann in meiner C # -Anwendung verfügbar zu machen. Bitte lassen Sie mich wissen, wenn Sie weitere Informationen für das Design der obersten Ebene benötigen.

Danke, Viren

Antworten auf die Frage(5)

Ihre Antwort auf die Frage