Estoy organizando un proyecto de biblioteca y tengo una clase de administrador central llamada Scenegraph
y un montón de otras clases que viven en el espacio de nombres de Scenegraph.
Lo que realmente me gustaría es que sea el scenegraph MyLib.Scenegraph
y las otras clases MyLib.Scenegraph.*
, pero parece que la única forma de hacerlo sería hacer que todas las demás clases sean clases internas Scenegraph
en el archivo Scenegraph.cs y eso es demasiado difícil de manejar .
En cambio, lo he organizado como Mylib.Scenegraph.Scenegraph
y MyLib.Scenegraph.*
, lo que funciona, pero encuentro que Visual Studio se confunde bajo algunas condiciones en cuanto a si me refiero a la clase o al espacio de nombres.
¿Existe una buena manera de organizar este paquete para que sea conveniente para los usuarios sin tener que juntar todo mi código en un lío inmaterial?
fuente
using Foo.Bar;
laterBar b
se refiere claramente aBar
una clase (o enumeración) dentro del espacio de nombresFoo.Bar
. La verdadera razón para no hacer eso es simplemente que el compilador de C # no lo entiende correctamente, lo cual es tremendamente sorprendente y desafortunado. Cualquier otra cosa es un consejo de estilo lanoso.