¿Cuál es el beneficio de usar alias de espacio de nombres? ¿Es bueno solo para simplificar la codificación?¿Cuál es el beneficio de usar alias de espacio de nombres en C#?
Respuesta
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;
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.
Por lo general, solo uso alias de espacio de nombres cuando utilizo dos clases con el mismo nombre.
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
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.
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
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.
- 1. En C++, ¿qué es un "alias de espacio de nombres"?
- 2. ¿Cuál es el alcance de un alias de espacio de nombres en C++?
- 3. Alias del espacio de nombres de C#: ¿cuál es el punto?
- 4. ¿Cuál es el propósito de: "usar el espacio de nombres"?
- 5. ¿Cuál es el beneficio de la importación en un espacio de nombres en R?
- 6. ¿Es posible revertir alias un espacio de nombres C#?
- 7. Convenciones de alias de tipo/espacio de nombres en C#
- 8. Alias de espacio de nombres C++ y declaración directa
- 9. ¿Cuál es el principal beneficio de usar HashMap en Java?
- 10. C# Espacio de nombres Alias calificador (: :) vs Desreferencia Operador (.)
- 11. ¿Cuál es el beneficio de usar Antennahouse sobre Apache FOP?
- 12. ¿Cuál es el beneficio de usar out/ref versus returning?
- 13. El operador del Espacio de nombres ... ¿cuál es el problema?
- 14. ¿Cuál es el beneficio de \ n y PHP_EOL en PHP?
- 15. alias de espacio de nombres acortados en aspx
- 16. C# ¿Cuál es el punto o beneficio de un indexador?
- 17. Cuál es el beneficio de "utilizar"
- 18. ¿Está 'usando el espacio de nombres' dentro de otro espacio de nombre equivalente a un alias?
- 19. ¿Cómo hacer que el operador alias del espacio de nombres :: funcione bajo C#?
- 20. Crear un alias a otro espacio de nombres Clojure
- 21. ¿Cuál es el beneficio de este .Net patrón
- 22. ¿Cómo se usa el espacio de nombres o el tipo de alias/abreviatura?
- 23. C++ Espacio de nombres pregunta
- 24. cómo usar el espacio de nombres Yii
- 25. Problemas del ámbito del alias del espacio de nombres
- 26. ¿Cuál es el beneficio de Class.new en este Rspec
- 27. Mejores prácticas: ¿usar espacio de nombres o volver a abrir el espacio de nombres?
- 28. PHP: ¿Cuál es el beneficio de spl_autoload_register? Rendimiento de
- 29. incluyen y el uso de espacio de nombres en C++
- 30. ¿Usar el espacio de nombres causa ocultar el nombre?
Gracias bastante de Scott buena explicación, corta y simple, +1 –