2010-06-04 10 views
8

Ho una classe che contiene un carico di proprietà che contengono i risultati di alcuni calcoli per esempio:scorciatoia per creare le proprietà automatiche utilizzando Visual Studio 2008/2010 o ReSharper 5

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

in una classe diversa che sto facendo calcoli per popolare le proprietà di cui sopra, ad esempio:

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; 
    } 
} 

Quando scrivo la classe Calc, Result3 saranno evidenziati in rosso in quanto non è ancora stato definito nella classe Results.

Attualmente sto usando il ReSharper ALT + Enter di scelta rapida, selezionare "Crea Proprietà 'result3'" che creerà il seguente codice int classe Results:

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

che ho bisogno di manualmente cambiare: io uso la CTRL +

public double Result3 { get; set; } 

Poi Shift + Backspace collegamento per riportarmi alla classe Calc.

Come posso creare facilmente proprietà automatiche nella classe Results se non sono ancora definite direttamente dalla classe Calc?

risposta

2

Sembra che tu voglia rimanere nella classe Calc e creare le tue proprietà in Results in una volta.

Ecco cosa fai.

  1. Accendere soluzione a livello controllo degli errori (ReSharper 5 è notevolmente migliore/più veloce)

  2. Modifica Calc riferimento a tutti i Results proprietà, lasciando gli errori segnalati.

  3. Hit Alt +Maiusc +PageDown. Questo ti farà passare attraverso tutti i tuoi errori.

  4. Press Alt + Inserisci e scegliere Crea proprietà e utilizzare la scelta Auto-Proprietà di Results, poi ha colpito Alt + Maiusc + PageDown a tornare a Calc

+0

grazie, questo è alleviare la mia RSI un po ':) –

2

Appena aver premuto Alt + Enter per creare la proprietà, e quindi Invio per accettare il tipo di dati, è effettivamente ottenere un elenco a discesa delle modalità di attuazione, se si' re su una versione recente di ReSharper. Uno di questi è la proprietà automatica.

+0

Sto usando Resharper 5 e vedo solo quattro opzioni quando I Alt-Enter su di esso: crea campo ... crea proprietà ... Cambia tutto ... Cambia tutto locale ... –

+1

Sì. Crea proprietà. Quindi lo crea e ti porta ad esso. Il tipo di dati sarà evidenziato. Premere Invio per accettare il tipo di dati. Quindi vedi la scelta dell'implementazione della proprietà. –

+0

Ah, lo vedo ora, grazie per aver evidenziato questa caratteristica. Posso usarlo per rimuovere un passaggio. Vorrebbe comunque fare tutto questo nel minor numero possibile di pressioni dei tasti. –

6

Per Resharper 4/5, digitare prop quindi scheda, quindi immettere i parametri richiesti.

+0

Conosco il modello "prop" ma ciò significa che devo andare alla classe Results e crearlo manualmente. Voglio essere in grado di farlo mentre sto scrivendo la classe Calc. –

+0

Anche il collegamento 'prop' funziona in modo nativo per VS.NET 2010 senza Resharper per creare proprietà automatiche. – atconway

Problemi correlati