2011-08-29 11 views
6

Si tengo un código C# como esto:¿Herramienta para extraer la clase 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; } 

} 

Como PropA y PropB existir tanto en la clase, y tienen el mismo significado, me gustaría refactor así:

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

} 

Uso VS 2010, ¿hay alguna herramienta/extensión que me permita hacer eso rápidamente? De hecho, mi código actual contiene docenas de propiedades en varias clases, no en el mismo orden. Esto puede ser un poco doloroso para factorizar correctamente el código ... es por eso que estoy buscando una forma perezosa de hacer esto

Respuesta

2

Puedes usar Resharper con "Extract Superclass".

+0

Resharper es comercial ... ¿tal vez una herramienta gratuita? (Sí, sé que Resharper tiene otras ventajas que pueden justificar su costo ... pero no es el problema aquí) –

+0

Tal vez [CodeRush Xpress] (http://community.devexpress.com/blogs/markmiller/archive/2009/06/ 25/coderush-xpress-for-c-and-visual-basic-2008.aspx) también es compatible con esto. Si es un trabajo de una sola vez, también puede usar la versión de prueba de Resharper para realizar el trabajo –

+0

CodeRush no proporciona esto (estoy usando CodeRush Xpress) –

Cuestiones relacionadas