2009-07-01 9 views
13

Duplicar posible:
Should Usings be inside or outside the namespace¿Sa1200 Todas las directivas de uso deben colocarse dentro del espacio de nombres (StyleCop) puramente cosmético?

sa1200 Todos utilizando directivas deben ser colocados dentro del espacio de nombres (StyleCop)

¿Es sólo para la legibilidad de código o hay ninguna ventaja real para hacerlo ? ¿Ayuda al GC de alguna manera?

+3

(¿Casi?) Todas las reglas de StyleCop son puramente cosméticas ... para eso sirven. FxCop es el que hace sugerencias funcionales. – jerryjvl

Respuesta

0

No hay diferencia en tiempo de ejecución. Es puramente un cambio de tiempo de compilación (y experiencia de desarrollo). El archivo, compilado IL será idéntico en cualquier caso.

+4

En realidad, hay casos excepcionales en los que hacer ese movimiento puede introducir un cambio en el código generado. http://blogs.msdn.com/ericlippert/archive/2007/06/25/inside-or-outside.aspx –

+0

Eric: ¿El VS2008 no capta eso? Pensé que ahora proporcionaba una advertencia/error en tiempo de compilación. Sé que esto fue un problema en 2005 ... pero pensé que ahora estaba atrapado. –

+4

Mueves una línea de código de un lugar a otro, ¿cómo sabe el compilador que la forma antigua era "correcta" y que la nueva era "incorrecta"? –

3

Si tiene varios espacios de nombres en su proyecto, puede limitar qué espacios de nombres usa cada uno individualmente.

Esto podría ser útil si hubiera nombres de clases en dos espacios de nombres diferentes que fueran iguales. Uno podría ser el predeterminado en una parte de su proyecto, mientras que el otro podría ser el predeterminado en otra.

Sí, buscan algunas cajas realmente marginales para estas reglas.

+5

Pero no tendría múltiples espacios de nombres en un archivo, ¿verdad? Porque eso violaría alguna otra regla que actualmente no puedo rastrear ... – Mark

+1

SA1403: El archivo solo puede contener espacio de nombre único. Valida que un documento de C# no contenga más de una directiva de espacio de nombres. –

Cuestiones relacionadas