sintaxis referencia programacion microsoft informacion guia documentacion comandos codigos c# namespaces using-directives

programacion - referencia de c# microsoft



¿Qué hace la directiva de uso, exactamente? (4)

La respuesta de @JaredPar es correcta; sin embargo, me gustaría añadir que no funciona del mismo modo que decir import en Java. (Alguien me corrige si me equivoco sobre la import de Java realmente importándola a la memoria)

Necesita incluir una DLL o referencia de proyecto para incluso poder usarlo sin embargo no se carga en la memoria hasta que realmente llame a un método / propiedad / algo en el ensamblado. Entonces podrías tener que using System.Linq; pero si realmente no usa ningún método Linq, el ensamblado Linq nunca se carga. (No estoy 100% seguro de que Linq se encuentre en su propio ensamblaje físico, ya que los espacios de nombres y ensamblajes no son 1: 1, pero por el bien del ejemplo, estoy asumiendo que sí)

En MSDN puedo leer lo que hace, pero me gustaría saber qué hace técnicamente (le dice al compilador dónde buscar los tipos ...). Me refiero a usarlo como una directiva.


usando simplemente decirle al compilador que vaya al archivo de configuración del ensamblado y busque un archivo DLL específico con el nombre dado, si el archivo DLL se encuentra, entonces vincula ese archivo DLL al proyecto actual. usar es solo una operación de enlace para que DLL se comunique en un espacio compartido de la memoria. El chico de abajo está en lo correcto


using informa al compilador de los espacios de nombres para buscar nombres utilizados en el archivo pero no definidos en el archivo.


La función principal de la directiva using es hacer que los tipos dentro de un espacio de nombres estén disponibles sin calificación para el código de usuario. Considera el conjunto de espacios de nombres y tipos definidos en los ensamblados a los que se hace referencia y el proyecto que se está compilando.

Tomemos por ejemplo la siguiente definición en MyTypes.Dll

namespace MyTypes { class Class1 {} }

Ahora considere hacer referencia a MyTypes.dll desde otro proyecto con un espacio de nombres diferente. Sin una directiva de uso para crear Class1 necesito calificar el nombre

MyTypes.Class1 local1 = new MyTypes.Class1();

La directiva using me permite eliminar esta calificación

using MyTypes; ... Class1 local1 = new Class1();