2010-06-04 18 views
8

tengo una clase que contiene una carga de propiedades que contienen resultados de algunos cálculos, por ejemplo:de acceso directo para crear propiedades automáticas utilizando Visual Studio 2008/2010 o ReSharper 5

public class Results 
{ 
    public double Result1 { get; set; } 
    public double Result2 { get; set; } 
} 

En una clase diferente que estoy haciendo cálculos para poblar las propiedades anteriores, por ejemplo:

public class Calc 
{ 
    private Results Calc() 
    { 
     Results res = new Results(); 
     res.Result1 = ... some calculation 
     res.Result2 = ... some other calculation 

     res.Result3 = ... // not yet defined in 'Results' class 
     return res; 
    } 
} 

Cuando estoy escribiendo la clase Calc, Result3 se resaltará en rojo, ya que aún no está definido en la clase Results.

Actualmente estoy usando el ReSharper ALT + Introduzca acceso directo, seleccionando la opción "Crear propiedad 'result3'" que creará el siguiente código int la clase Results:

public double Result3 
{ 
    get { throw new NotImplementedException(); } 
    set { throw new NotImplementedException(); } 
} 

Qué necesito manualmente cambiará a:

public double Result3 { get; set; } 

Luego uso del CTRL +Shift + Retroceso atajo para llevarme de vuelta a la clase Calc.

¿Cómo puedo crear fácilmente propiedades automáticas en la clase Results si aún no están definidas directamente de la clase Calc?

Respuesta

2

Parece que le gustaría permanecer en la clase Calc y crear sus propiedades en Results de una vez.

Esto es lo que debes hacer.

  1. Encienda solución para toda la comprobación de errores (ReSharper 5 es considerablemente mejor /rápido)

  2. Editar Calc se refiere a todos Results propiedades, dejando los errores reportados.

  3. Hit Alt +Shift +PageDown. Eso lo repasará a través de todos sus errores.

  4. Prensa Alt + Introduzca y seleccione Crear la propiedad y el uso de la opción Auto-Propiedades en Results, después haga clic en Alt + Shift + PageDown a volver a Calc

+0

gracias, esto está aliviando mi RSI un poco :) –

2

Tan pronto como se haya pulsado Alt +Introduzca para crear la propiedad, y luego Introduzca para aceptar el tipo de datos, que en realidad obtener una lista desplegable de las formas de implementar que si' re en una versión reciente de ReSharper. Uno de ellos es propiedad de auto.

+0

Estoy usando Resharper 5 y solo veo cuatro opciones cuando Alt-Enter en él: crea el campo ... crear propiedad ... Cambiar todo ... Cambiar todos los locales ... –

+1

Sí. Crear propiedad. Luego lo crea y te lleva a él. El tipo de datos estará resaltado. Presione enter para aceptar el tipo de datos. Luego verá la opción de implementación de la propiedad. –

+0

Ah, ya lo veo, gracias por destacar esa característica. Puedo usarlo para eliminar un paso. Todavía me gustaría hacer esto en el menor número de pulsaciones de teclas posible. –

6

Para Resharper 4/5, tipo prop y luego tab, luego complete los parámetros requeridos.

+0

Conozco la plantilla 'prop' pero eso significa que tengo que ir a la clase Results y crearla manualmente. Quiero poder hacer esto mientras escribo la clase Calc. –

+0

El acceso directo 'prop' parece funcionar también en VS.NET 2010 sin Resharper para crear propiedades automáticas. – atconway

Cuestiones relacionadas