2010-08-03 7 views
21

¿Hay alguna forma de obtener la generación de instrucciones de cambio por enum?Visual Studio 2010 Cambia la generación de extracto por enum

Por ejemplo, si tengo una gran enumeración y tengo el método con parámetro enum, entonces necesito codificar las sentencias de cambio para cada caso, pero ¿hay alguna forma de generar esta instrucción de cambio por enum?

Si tengo muchas otras enumeraciones si mis enums tienen un amplio rango y si tengo 10-100 métodos con parámetros de enumeraciones diferentes, en ese caso la codificación del conmutador se convirtió en un infierno.

Probablemente es una buena idea crear la plantilla t4, de todos modos, me complace escuchar sugerencias sobre la generación de conmutadores enum.

Buscando una solución sin ningún software adicional como Resharper.

Respuesta

21

Visual Studio ya lo hace. Conmutador de tipo, pestaña para completar ese fragmento, escriba el nombre de la enumeración y obtendrá la declaración del caso autogenerada.

+0

FWIW, al menos para mí, el video anterior de Henrik Stenbæk no se reproduce (win7, ie8; win7, Firefox 11) – gerryLowry

+0

Nota: escriba el nombre de la variable enum, no el nombre del tipo. (¡No fue obvio para mí!) –

+0

Escribir la enumeración también está bien, excepto que de todos modos tendrá que cambiarla a una variable. – user1306322

15

Visual Studio lo hace con un fragmento.

Escriba switch, presione Tab y luego ingrese el nombre de su variable enum, y presione Entrar.

Debería obtener un enunciado de cambio con cada enum member'd.

2

Intenté jugar con las dos respuestas anteriores y no pude conseguir que funcionase para mí. La gran diferencia que encontré es que tienes que presionar dos veces Tab después de comenzar a escribir switch.

Una sola pestaña completará la instrucción de cambio pero no se abrirá entre paréntesis. Al tocar dos veces, se abrirán paratheses y se dejará el cursor en el centro, de modo que cuando empiece a escribir la variable enum y la pestaña para autocompletarlo, generará todas las instrucciones de cambio.