¿Cuál es la forma más fácil de sacar un método existente de su clase y convertirlo en una nueva clase con Visual Studio 2010/Resharper?¿Cómo extraer un método de su clase (y en uno nuevo o existente)?
Editar: Yo uso ReSharper versión 5.
¿Cuál es la forma más fácil de sacar un método existente de su clase y convertirlo en una nueva clase con Visual Studio 2010/Resharper?¿Cómo extraer un método de su clase (y en uno nuevo o existente)?
Editar: Yo uso ReSharper versión 5.
A partir de
Método public void() {}
En primer lugar, hacer que el método estático mediante el comando "Hacer Método estático" .
pública Método static void() {}
A continuación, añadir una variable local del tipo de la nueva clase:
pública Método static void() {Clase2 me = nueva clase 2(); }
A continuación, utilice Introducir parámetro
pública Método static void (Clase2 mí) {}
Luego use "Hacer método no estático". En clase 2:
Método public void() {}
Igual que el anterior, pero no me gustaría hacer la conversión al método estático manualmente. Abra el menú "Refactorizar esto" (usando atajos, por supuesto, ctrl + shift + R), luego seleccione "Hacer método estático", luego "Refactorizar esto" -> "Mover".
Nota:
Si estamos hablando acerca de cómo mover un método en una jerarquía de clases, puede utilizar "Push miembros abajo" o "Pull miembros arriba"
No quise decir que debe hacer que el método sea estático manualmente. Quise decir "Hacer método estático". Además, al hacer un "movimiento" a continuación, el método quedará estático y antes no era estático. –
En-actualizada ReSharper, ahí está Move Refactoring. O bien presiona F6 mientras el cursor está en la firma del método, o código de cortar y pegar en la nueva ubicación, y Resharper le ofrece aplicar la refactorización.
No veo el paso, ¿está implícito? Tampoco veo la ganancia del parámetro variable => paso. –
Slampen
El método se mueve cuando (1) agrega el parámetro y luego (2) hace que el método no sea estático, lo que lo convierte en el puntero "this", lo que hace que el método sea un método de instancia de esa clase. –
Después de probar ambos métodos, realicé la verificación de esta respuesta. – Slampen