Je nachdem, was Sie gerade tun, wird dies möglicherweise nicht einmal funktionieren. Ich stelle mir eine Situation vor, wo du Initialize()
und danach StartImport()
hast, aber zwischen diesen 2 Aufrufen wurde das Programm beendet und der initialisierte Zustand ist weg. Wenn Sie keine Methoden wie Initialize()
, sondern atomare Unterbefehle haben, ist Ihre Vorgehensweise prinzipiell möglich.
Aber es gibt eine Frage: Wird das generisch sein? Ich meine: Sag, du fügst eine andere Methode hinzu. Möchten Sie dann den Zugriff auf die Methode durch einen Unterbefehl automatisch herstellen lassen oder möchten Sie einen weiteren Unterbefehl hinzufügen? Die erste Option würde bedeuten, dass Sie sich mit Reflection vertraut machen müssen.
Nun, sagen Sie, Sie fügen Methoden hinzu, die Sie aus welchem Grund auch immer nicht als privat deklarieren können, aber Sie wollen nicht, dass sie als Unterbefehl verfügbar gemacht werden. Sie müssten also die Sichtbarkeit im Auge behalten. Sicher, das würde schlechtes Design bedeuten, aber wenn Sie mit Legacy-Komponenten stecken, könnte dies passieren.
Nehmen wir jetzt an, Sie benötigen die Initialize()
(oder ähnliche) Befehl (e). Sie kümmern sich um einen Verbindungsstatus oder was auch immer und das Programm muss immer noch ausgeführt werden, wenn der nächste Unterbefehl aufgerufen wird, damit er die initialisierten Informationen, Handles usw. verwenden kann. Wäre es dann nicht sinnvoller, Ihre Konsolenanwendung zu entwerfen wie eine Muschel? Sie würden also mit beginnen und nach Unterbefehlen gefragt werden.
Sie können das nicht tun, aber versuchen Sie, Klassenbibliothek Projekt zu verwenden und seine Ausgabe 'dll' zu Referenzen hinzufügen –
Sie müssen lernen, wie Sie Reflection verwenden, so dass Sie eine Zeichenfolge wie" Initialize "in ein MethodInfo-Objekt übersetzen können .Es ist sehr unwahrscheinlich, dass es eine nützliche Übung ist, außer zu wissen, wie man Reflection benutzt, nachdem Sie fertig sind. –