2012-03-19 14 views
8

¿Es posible agregar una declaración de uso a un espacio de nombres globalmente?C# add using declaration for namespace para todas las clases

Por ejemplo, quiero que todas mis clases en el espacio de nombres "MyApp.Models" incluyan el espacio de nombres System.Linq.Dynamic.

En asp.net puede hacer esto para ver si agrega el espacio de nombres en el archivo web.config. ¿Hay alguna manera de hacer esto para los archivos de clase también?

+0

FYI - He utilizado el mechansim web.config también, pero se rompe si se utiliza código subyacente. ¡Has vuelto a enumerarlos para cada clase! – n8wrl

Respuesta

10

No. No es posible agregar una declaración global using a un proyecto de C#. Debe especificar el conjunto completo de using en cada archivo .cs

+0

Aunque me temo que es verdad, ¡no quiero que esta sea la respuesta correcta! – Victor

+0

@Victor desafortunadamente lo que dije es verdad :(. VB.Net admite la noción de importaciones a nivel de proyecto, pero C# no. – JaredPar

+0

y ¿qué pasa si todas las clases fueron parciales a una con las referencias definidas? – sasjaq

1

No creo que esto sea posible de inmediato, pero sin duda podría automatizar con un plugin de Visual Studio o un complemento para una herramienta como Code Rush.

+0

También puede crear/editar plantillas de visual visual para que los archivos .cs que crea ya tengan esto (u otro) usando sentencias en la parte superior si casi siempre quiere allí. – Servy

+0

esto se puede hacer usando t4 pero el código apresurado o el reafilamiento son una mejor opción. –

2

No es posible hacer lo que quiera con funcionalidad obvia, pero podría crear una plantilla que genere sus clases y lo haga por espacio de nombres, las plantillas podrían incluir el uso y esto le daría el efecto deseado.

Puede hacer esto con plantillas T4 básicas o algo así como resharper también tiene esta funcionalidad.

Sin embargo, es un poco inútil, muchas herramientas de productividad traerán las instrucciones de uso que necesita, dado el código que escribe, resharper y otros hacen esto, por lo que no es necesario tener una plantilla que haga esto ya que puede terminar en cada espacio de nombres que no usa la declaración, ¡entonces tiene que eliminarlo!

No es realmente un problema con el uso de declaraciones que no se utilizan por la forma en que es simplemente desordenado.

Ooh en caso de que no están seguros de lo plantillas T4 es here es un enlace rápido

Cuestiones relacionadas