2010-05-03 6 views

Respuesta

6

A partir de

Método public void() {}

  1. En primer lugar, hacer que el método estático mediante el comando "Hacer Método estático" .

    pública Método static void() {}

  2. 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(); }

  3. A continuación, utilice Introducir parámetro

    pública Método static void (Clase2 mí) {}

  4. Luego use "Hacer método no estático". En clase 2:

    Método public void() {}

+0

No veo el paso , ¿está implícito? Tampoco veo la ganancia del parámetro variable => paso. – Slampen

+0

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. –

+0

Después de probar ambos métodos, realicé la verificación de esta respuesta. – Slampen

4

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"

+0

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. –

1

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.

Cuestiones relacionadas