Ich muss sagen, ich bin einigermaßen neu in C# und bin von Java umgestiegen. Daher werde ich gerade mit einigen wohl C# spezifischen Fehlern bei der Benennung meiner Klassen und Namespaces konfrontiert, vielleicht weißt ja jemand wie ich das Problem elegant lösen kann.
Also in C# kann man folgendes ja nicht machen, wie ich bemerkt habe:
- Projekt
--> Interface: Node
--> Namespace/Ordner: Node
-----> Klasse: SomethingNode : Node
-----> ...
Ich erkläre aber mal wieso ich gerne diese Benennung hätte: Es soll viele Klassen geben (wie SomethingNode), die das Node-Interface implementieren, und da wäre ja ein Namespace mit Namen "Node" eigentlich das richtige wie ich mir dachte. Ich könnte jetzt natürlich hergehen und das Node-Interface in den Node Namespace ziehen, aber das macht auf den ersten Blick für mich wenig Sinn, da ich Node eher als elementaren Bestandteil des Projekts sehe und auch im Projekt und deren Unterordnern Membervariablen des Typs "Node" vorkommen. Daher müsste ich ja in dem Fall immer wieder "Projekt.Node" importieren, obwohl ich nur das Interface bräuchte... hört sich nicht sehr praktisch für mich an.
Kennt vielleicht jemand eine elegante Lösung für das Problem? Vielleicht eine sinnvolle Umbenennung oder etwas in der Art, oder wie löst ihr solche Konflikte?
Also in C# kann man folgendes ja nicht machen, wie ich bemerkt habe:
- Projekt
--> Interface: Node
--> Namespace/Ordner: Node
-----> Klasse: SomethingNode : Node
-----> ...
Fehler: Der Typ "Projekt.Node" in [...] verursacht einen Konflikt mit dem Namespace "Projekt.Node" in [...].
Ich erkläre aber mal wieso ich gerne diese Benennung hätte: Es soll viele Klassen geben (wie SomethingNode), die das Node-Interface implementieren, und da wäre ja ein Namespace mit Namen "Node" eigentlich das richtige wie ich mir dachte. Ich könnte jetzt natürlich hergehen und das Node-Interface in den Node Namespace ziehen, aber das macht auf den ersten Blick für mich wenig Sinn, da ich Node eher als elementaren Bestandteil des Projekts sehe und auch im Projekt und deren Unterordnern Membervariablen des Typs "Node" vorkommen. Daher müsste ich ja in dem Fall immer wieder "Projekt.Node" importieren, obwohl ich nur das Interface bräuchte... hört sich nicht sehr praktisch für mich an.
Kennt vielleicht jemand eine elegante Lösung für das Problem? Vielleicht eine sinnvolle Umbenennung oder etwas in der Art, oder wie löst ihr solche Konflikte?