2010-02-24 11 views

Respuesta

4

Como todos los demás han dicho, es útil para la eliminación de ambigüedades cuando se tienen que importar múltiples espacios de nombres al mismo tiempo.

Esto parece estar en contra de las opiniones de otras personas, pero también puede ser útil para aclarar el alcance entre dos dominios:

using Gilco.Test.ProjectX; 
using DevCode = Gilco.Nilfum.Alpha.ProjectX; 

public class MyTests 
{ 
    public void TestCase1() 
    { 
     var car = new DevCode.Car(); 
     var testCar = new TestCar(); 
    } 
} 

También puede ser útil en el caso raro cuando se tiene que especificar el espacio de nombres (para la desambiguación), el espacio de nombres no es tan largo como para justificar el alias, pero es probable que cambie pronto (como cuando se está utilizando espacios de nombres para soportar dos versiones de su ruta de código a la vez):

using DevCode = Gilco.V1; 
9

Uso los alias de espacio de nombres solo si tengo conflictos con las clases. para mí no es para nada simplificador. Mi opinión: si no es necesario, no lo use.

0

Por lo general, solo uso alias de espacio de nombres cuando utilizo dos clases con el mismo nombre.

0

que yo sepa cuando se crea alias de espacio de nombres - valores de las variables estáticas para cada alias es que es propia y no depende de otros alias + simplificación

5

son útiles cuando se tiene conflictos. Por ejemplo, si tiene los tipos NamespaceA.Jobber y NamespaceB.Jobber, y desea usarlos en la misma clase, no podrá simplemente agregar using declaraciones para NamespaceA y NamespaceB, porque entonces el compilador no sabrá qué es usted refiriéndose a si escribe Jobber. En este caso, le daría un alias a uno o ambos espacios de nombres.

Esto puede hacer que su código sea más claro, especialmente si el espacio de nombre es largo, porque la alternativa es tener el espacio de nombres completo escrito cada vez que utiliza un tipo.

1

El alias del espacio de nombres es útil para resolver la ambigüedad de dos o más clases con el mismo nombre en el código. Por ejemplo, tiene la clase Button de su winform y también tiene una clase Button de su tercera biblioteca. Cuando su código hace referencia al botón, puede querer cuantificarlo a partir del tercero y no querer poner el texto largo completo en todas partes y más bien usar el alias using CompanyX = CompanyX.UI.Animated.Control ... CompanyX.Button

De hecho, solo estoy usarlo antes en un proyecto de trabajo para hacer que mi código sea más legible. Yo uso de automatización de Office Word y en lugar de tener una aplicación variable de definir todas partes y difícil de diferenciarla de mi clase de aplicación real, defino utilizando Word=Microsoft.Office.Interop.Word y en el código que puede decir Word.Application para referirse al objeto de aplicación Palabra

4

En los casos en que existe son nombres de tipos conflictivos, usar un alias le ahorrará tener que usar nombres completamente calificados. El nombre TextBox, por ejemplo, se usa en los dos espacios de nombres siguientes.

System.Windows.Forms.TextBox 
System.Web.UI.WebControls.TextBox 

Basándose en el orden de las declaraciones utilizando sería bastante frágil y sólo ayudaría con uno de los espacios de nombres. Sería mejor asignar un alias a cada uno de los espacios de nombres.

+0

Gracias bastante de Scott buena explicación, corta y simple, +1 –

Cuestiones relacionadas