2013-03-03 15 views
7

Ich finde, dass ich manchmal mehrere Namespaces in einem Projekt haben muss, an dem ich gerade arbeite - Gibt es irgendwelche Probleme, die entstehen können, wenn mehrere Namespaces im selben Projekt vorhanden sind?
Die Alternative hat offensichtlich mehrere Projekte (pro Namespace) in der Lösung.Mehrere Namespaces in einem Projekt

+1

"Die Alternative hat offensichtlich mehrere Projekte in der Lösung." - Das ist normalerweise eine bessere Methode. –

+0

@MitchWheat Es scheint der "geordnete" Ansatz zu sein, aber alles, was es wirklich tut, ist meine Lösung durcheinander zu bringen. Ein größeres Problem ist, dass es beim Kompilieren mehrere Dateien erzeugt. – Acidic

+0

Aber das ist ein ganz anderes Problem mit einer anderen Lösung. –

Antwort

7

Ja, es ist in Ordnung. Oft sind meine Namespaces an der Ordnerstruktur des Projekts ausgerichtet. Der Namespace der obersten Ebene könnte also für das gesamte Projekt identisch sein, aber es würde mehrere Unternamespaces geben.

Die Ziele von Namespaces sind (1) Organisation und (2) Vermeidung von Namenskonflikten, nicht unbedingt in dieser Reihenfolge. Dinge in mehrere Projekte zu trennen, liegt eher daran, dass Sie mehrere Binärdateien verwenden oder Code zwischen mehreren Lösungen teilen möchten. Dies sind etwas orthogonale Bedenken.

+1

Visual Studio erstellt Namespaces in neuen .cs-Dateien automatisch unter Verwendung dieser Struktur. –

1

Ja viele Klassen in einem einzigen Namespace. Viele Namespaces in einem Projekt sind völlig in Ordnung. Es ist kosmetisch.

1

Die Antwort auf diese Frage, ohne sich mit den Best Practices vertraut zu machen, besteht darin, dass bei der Verwendung mehrerer Namespaces in einem Projekt keine technischen Probleme auftreten.

Visual Studio unterstützt jedoch nur einen Basisnamespace, der sich in den Projekteigenschaften befindet (Rechtsklickeigenschaften im Solution Explorer auf dem Projekt selbst). Wenn Sie eine neue Datei erstellen, wird sie mit diesem Standardnamespace erstellt (wenn auf root), oder der Standard-Namespace und die von Ihnen angegebene Ordnerstruktur.

Kein Problem per se, aber Sie müssen jede neue C# -Datei, die Sie dem Projekt hinzufügen, manuell überprüfen und den Namespace entsprechend ändern, wenn diese bestimmte Datei nicht den Standard-Namespace für das Projekt verwendet.

Verwandte Themen