c# - que - un espacio de nombres no puede contener directamente miembros como campos o métodos
Múltiples espacios de nombres en un solo proyecto (3)
La respuesta a esta pregunta, sin entrar en las mejores prácticas, es que no habrá problemas técnicos al usar múltiples espacios de nombres en un proyecto.
Sin embargo, Visual Studio solo admite un espacio de nombres base, que se encuentra en las propiedades del proyecto (haga clic con el botón secundario en el Explorador de soluciones en el proyecto) y cada vez que cree un archivo nuevo, se creará con este espacio de nombres predeterminado (si está en la raíz ), o el espacio de nombres predeterminado más la estructura de carpetas que tenga.
No es un problema per se, pero deberá verificar manualmente cada nuevo archivo C # que agregue al proyecto y cambiar el espacio de nombres en consecuencia si ese archivo en particular no utilizará el espacio de nombres predeterminado para el proyecto.
Encuentro que a veces tengo la necesidad de tener múltiples espacios de nombres en un proyecto en el que estoy trabajando. ¿Hay algún problema que pueda surgir al tener múltiples espacios de nombres en el mismo proyecto?
La alternativa obviamente es tener múltiples proyectos (por espacio de nombres) en la Solución.
Sí, muchas clases en un solo espacio de nombres. Muchos espacios de nombres en un proyecto están totalmente bien. Es cosmético.
Si esta bien. A menudo, mis espacios de nombres se alinean con la estructura de carpetas del proyecto. Por lo tanto, el espacio de nombres de nivel superior podría ser el mismo para todo el proyecto, pero habría múltiples espacios de nombres secundarios.
Los propósitos de los espacios de nombres son (1) organización y (2) evitar colisiones de nombres, no necesariamente en ese orden. Mientras que, separar cosas en proyectos múltiples es más porque quieres múltiples binarios o quieres compartir código entre múltiples soluciones. Estas son preocupaciones un tanto ortogonales.