sirve que program para namespace multiple into ejemplo clase addnamespacedeclaration c# namespaces

que - Pregunta básica sobre C#- ¿Necesito un espacio de nombres?



multiple namespaces c# (6)

Soy un desarrollador de Java, totalmente nuevo para C #. Actualmente estoy escribiendo un archivo DLL para su distribución en toda mi organización. Es una biblioteca muy simple que contiene un par de clases y no veo ningún uso real para ponerlas todas en algún espacio de nombres solo por el bien de ellas. ¿Realmente tengo que usar un espacio de nombres? Si es así, ¿por qué? ¿Es algún tipo de mejor práctica?


Básicamente, System es un espacio de nombres raíz en asp.net C #. En .net, todos los programas se crean con un espacio de nombre predeterminado. Este espacio de nombres predeterminado se llama espacio de nombres global. Pero el programa en sí crea cualquier número de espacio de nombres, cada uno de nombre único.

Obtenga más información en http://asp-net-by-parijat.blogspot.in/2015/08/what-is-namespace-in-c-need-of.html


Mi voto para "sí" creo que es un buen hábito usar el espacio de nombres. no puede estar seguro de que las personas no usarán los mismos nombres de clase.


No hay necesidad de tener un espacio de nombres. Sin embargo, el estudio de desarrollador espera que estés usando un espacio de nombres. Por ejemplo, cuando elige agregar una clase a un estudio de desarrollo de proyectos:

  • Crear un archivo para la clase.
  • Añadir el archivo al proyecto.
  • Cree una clase vacía (en el archivo anterior) que se encuentra en el espacio de nombres predeterminado del proyecto.

Un "espacio de nombres predeterminado del proyecto" es un concepto de estudio de desarrollador, no un concepto de C # y se establece en las propiedades del proyecto.

Como está creando una dll para que otros la usen, será mucho más fácil para los usuarios de su dll si tiene un espacio de nombres:

  • La gente espera que usted tenga un espacio de nombres (por lo que puede confundirse si no lo tiene)
  • Los espacios de nombres hacen que sea mucho más fácil para sus usuarios si tiene una clase (o enumeración, etc.) que tenga el mismo nombre que otra clase en cualquier dll a la que estén vinculados.

Por lo tanto, no veo una buena razón para no usar un espacio de nombres.


Para aplicaciones de prueba desechables (por ejemplo, para verificar las respuestas de desbordamiento de pila), no uso un espacio de nombres. Para cualquier otra cosa , lo hago. Es solo una cuestión de organización: si va a reutilizar el código, es útil separarlo de otro código que también está reutilizando en el mismo contexto. Lo que quiero decir es que, si está creando una aplicación utilizando LibraryX y LibraryY, es útil poder diferenciarlas dentro de la aplicación. Es posible que ambos utilicen los mismos nombres de clase, por ejemplo, lo que hará que el código sea feo si no usa espacios de nombres.

Aparte de todo lo demás, si está codificando con Visual Studio, en realidad es más trabajo no incluir un espacio de nombres, tiene que modificar el proyecto para darle un espacio de nombres predeterminado vacío.



¿ Necesitas uno? No. ¿Deberías tener uno? Sí. Esto ayudará a evitar choques con clases con nombres idénticos en otros espacios de nombres sin tener que recurrir al uso feo (IMHO) de global:: .