Trovo che a volte ho la necessità di avere più spazi dei nomi in un progetto su cui sto lavorando - ci sono problemi che possono sorgere dall'avere più spazi dei nomi nello stesso progetto?
L'alternativa è ovviamente avere più progetti (per spazio dei nomi) nella Soluzione.Spazi dei nomi multipli in un singolo progetto
risposta
Sì, va bene. Spesso i miei spazi dei nomi si allineano alla struttura delle cartelle del progetto. Quindi lo spazio dei nomi di primo livello potrebbe essere lo stesso per l'intero progetto, ma ci sarebbero più spazi secondari.
Gli scopi dei namespace sono (1) l'organizzazione e (2) evitare le collisioni di denominazione, non necessariamente in questo ordine. Considerando che, separare le cose in più progetti è più perché vuoi più binari o vuoi condividere il codice tra più soluzioni. Queste sono preoccupazioni un po 'ortogonali.
Inoltre, Visual Studio crea automaticamente spazi dei nomi in nuovi file .cs utilizzando questa struttura. –
Sì, molte classi in un singolo spazio dei nomi. Molti spazi dei nomi in un progetto sono assolutamente soddisfacenti. È cosmetico
La risposta a questa domanda, senza entrare nelle migliori pratiche, è che non ci saranno problemi tecnici dall'utilizzo di più spazi dei nomi in un unico progetto.
Tuttavia, Visual Studio supporta solo uno spazio dei nomi di base, che si trova nelle proprietà del progetto (proprietà del clic destro in Solution Explorer sul progetto stesso) e ogni volta che si crea un nuovo file, verrà creato con questo spazio dei nomi predefinito (se in root), o lo spazio dei nomi predefinito più la struttura della cartella che si ha.
Non è un problema di per sé, ma è necessario controllare manualmente ogni nuovo file C# che si aggiunge al progetto e modificare lo spazio dei nomi di conseguenza se quel particolare file non utilizzerà lo spazio dei nomi predefinito per il progetto.
- 1. Come raggruppare moduli multipli in un singolo spazio dei nomi?
- 2. Spazi dei nomi multipli sotto lo stesso modulo in ZF2
- 3. Serialize JAXB Pojos a multipli o spazi dei nomi diversi
- 4. sostituto spazi multipli con un singolo spazio bianco in Python
- 5. Spazi e spazi dei nomi C++
- 6. Progetti WCF multipli rispetto a progetto singolo in soluzione
- 7. instanceof e spazi dei nomi
- 8. stile e spazi dei nomi
- 9. Stax e spazi dei nomi
- 10. Perché più spazi dei nomi?
- 11. auto_distribuzione e spazi dei nomi
- 12. Squeak supporta gli spazi dei nomi?
- 13. Alias di spazi dei nomi in F #?
- 14. Spazi dei nomi jolly in lxml
- 15. XSD con importazioni e spazi dei nomi
- 16. DataContractSerializer con più spazi dei nomi
- 17. Spazi dei nomi PHP e "uso"
- 18. Differenza tra classi e spazi dei nomi?
- 19. Contatori multipli in un singolo ciclo: Python
- 20. multipli aspetta in un singolo metodo
- 21. Relazioni eloquenti polimorfiche con spazi dei nomi
- 22. Spazi dei nomi nidificati e simbolo ambiguo
- 23. Funzioni XSLT e spazi dei nomi
- 24. C++ - ostream, amici e spazi dei nomi
- 25. HTML5 supporta gli spazi dei nomi?
- 26. Ottieni gli spazi dei nomi clojure
- 27. Spazi dei nomi RDF (dati semantici)
- 28. esclude determinati spazi dei nomi clj dalla compilazione in leiningen
- 29. Documentazione Clojure per librerie/spazi dei nomi
- 30. Qualcuno usa effettivamente spazi dei nomi css?
"L'alternativa è ovviamente avere più progetti nella soluzione." - Di solito è un metodo migliore. –
@ MitchWheat Sembra essere l'approccio più "ordinato", ma tutto ciò che fa davvero è ingombrare la mia soluzione. Un problema più grande è che produce più file sulla compilazione. – Acidic
Ma questo è un problema completamente diverso con una soluzione diversa. –