2011-08-29 14 views
6

Se ho un codice C# in questo modo:Strumento per estrarre la classe base?

public class A { 
    public string PropA { get; set; } 
    public string PropB { get; set; } 

    public string PropZ { get; set; } 

} 

public class B { 
    public string PropA { get; set; } 
    public string PropB { get; set; } 

    public string PropX { get; set; } 
    public string PropY { get; set; } 

} 

Come PropA e PropB esistere sia di classe, e hanno lo stesso significato, mi piacerebbe refactoring in questo modo:

public abstract class Base { 
    public string PropA { get; set; } 
    public string PropB { get; set; } 
} 

public class A : Base { 
    public string PropZ { get; set; } 

} 
public class B : Base { 

    public string PropX { get; set; } 
    public string PropY { get; set; } 

} 

Utilizzando VS 2010, c'è qualche strumento/estensione che mi permetta di farlo rapidamente? In effetti, il mio codice attuale contiene dozzine di proprietà in più classi, non nello stesso ordine. Questo può essere un po 'di dolore per ragionare correttamente il codice ... ecco perché sto cercando un modo pigro per farlo

risposta

2

Puoi usare Resharper con "Estrai Superclasse".

+0

Il resharper è commerciale ... forse uno strumento gratuito? (Sì, so che Resharper ha altri vantaggi che possono giustificare il suo costo ... ma non è il caso qui) –

+0

Forse [CodeRush Xpress] (http://community.devexpress.com/blogs/markmiller/archive/2009/06/ 25/coderush-xpress-for-c-and-visual-basic-2008.aspx) supporta anche questo. Se si tratta di un lavoro singolo, si può anche usare la versione di prova di Resharper per completare il lavoro –

+0

CodeRush non fornisce questo (sto usando CodeRush Xpress) –

Problemi correlati