9
votes

Comment tirer une méthode de sa classe (et dans une nouvelle ou existante)?

Quel est le moyen le plus simple de tirer une méthode existante de sa classe et d'une nouvelle classe à l'aide de Visual Studio 2010 / Resharper?

EDIT: J'utilise Resharper version 5.


0 commentaires

3 Réponses :


7
votes

commençant par

Méthode annulation publique () {}

  1. Tout d'abord, faites la méthode statique à l'aide de la commande "Méthode statique".

    Méthode annulation statique publique () {}

  2. Ensuite, ajoutez une variable locale du type de la nouvelle classe:

    Méthode annulation statique publique () {classe2 me = nouvelle classe2 ();}

  3. Ensuite, utilisez-vous introduire le paramètre

    Méthode annulation statique publique (CLASS2 ME) {}

  4. Utilisez ensuite "Mode non statique". En classe2:

    Méthode annulation publique () {}


4 commentaires

Je ne vois pas la étape, est-ce implicite? Je ne parviens pas non plus au gain de la variable => pas de paramètre.


La méthode se déplace lorsque vous (1) ajoutez le paramètre, puis (2) Méthode non statique, qui transforme le paramètre dans le pointeur "Ceci", ce qui rend la méthode une méthode d'instance de cette classe.


Après avoir essayé les deux méthodes, certains, j'ai réaffirmé le chèque à cette réponse.


Je change de place une étape 1 et 2. Trouvez-le moins encombrant lorsque la classe 2 prend des arguments dans le constructeur que j'ai comme champs dans la classe 1.



4
votes

même que ci-dessus, mais je ne ferais pas la conversion à la méthode statique manuellement. Tirez sur le menu "Refactor Ce" Menu (à l'aide des raccourcis du parcours, CTRL + SHIFT + R), puis sélectionnez "Méthode statique", puis "Réfacteur" -> "Déplacer".

Remarque:

Si vous parlez de déplacer une méthode dans une hiérarchie de classe, vous pouvez utiliser "Push MemS Down" ou "Tirer des membres"


1 commentaires

Je ne voulais pas dire que vous devriez faire la méthode statique manuellement. Je voulais dire "faire une méthode statique". En outre, faire un «mouvement» suivant quittera la méthode statique et ce n'était pas statique avant.



1
votes

Dans Resharper à jour, il y a le refactoring. Vous appuyez soit sur F6 pendant que le curseur est en signature de la méthode, ou de couper le code de coller sur le nouvel emplacement et que Resharper vous propose d'appliquer le refactoring.


0 commentaires