Comment trouvez-vous toutes les implémentations de l'interface?
Supposons que vous disposez d'une interface définie en C#. Quelle est la méthode la plus simple pour trouver toutes les classes qui fournissent une implémentation de l'interface?
La force brute méthode serait d'utiliser "Trouver des Références" dans Visual Studio manuellement et de regarder à travers les résultats de séparer les usages de l'implémentation, mais pour une interface dans une grande base de code, qui est fortement référencé avec relativement peu d'implémentations, cela peut être chronophage et source d'erreurs.
En Java, l'exécution de javadoc sur la base de code (à l'aide de l'-privé option pour inclure des cours privés) permettrait de générer une page de documentation pour l'interface (par exemple Comparable) qui comprend toutes les classes de l'interface ainsi que tous les sous-interfaces (bien qu'il ne comprend pas la mise en œuvre de classes de la sous-interfaces, elles sont relativement faciles à déterminer par le forage vers le bas dans la liste des sous-interfaces). C'est cette fonctionnalité que je recherche mais avec C# et Visual Studio.
Vous devez vous connecter pour publier un commentaire.
(À modifier selon le commentaire...)
Si vous avez ReSharper installé:
Dans Visual Studio, cliquez-droit sur le nom du type et sélectionnez "Aller à l'Héritier". Sinon, sélectionnez le nom du type, puis aller à ReSharper/View/Type de Hiérarchie pour ouvrir un nouvel onglet. (Le menu va vous montrer le raccourci clavier, ce qui peut varier, c'est pourquoi j'ai expliqué comment la trouver 🙂
Si vous n'avez pas ReSharper:
Vous pouvez cliquer-droit sur un nom de méthode (définition de l'interface ou de la mise en œuvre dans d'autres classes) et de choisir l'Affichage de la Hiérarchie. Dans la Hiérarchie d'Appel de la fenêtre il y a "met en œuvre" dans le dossier où vous pouvez trouver tous les endroits de l'interface de l'implémentation de la méthode.
Placez le curseur à la classe ou le type d'interface et
CTRL + F12
Avec Visual Studio 2010+
Droit de la souris sur un membre de la méthode et de choisir l'affichage de la hiérarchie. Développer les outils de dossier. Cette liste répertorie tous les types qui implémentent l'interface de la méthode appartient à.
Avec Resharper 7
Clic droit sur l'interface > Naviguer > Dérivés de Symboles. Les symboles figurant dans gras tirent directement à partir de l'interface. Non gras symboles dérivent d'une super-classe.
Pour les personnes à l'aide de Visual Studio 2015, il y a cette superbe extension appelée Aller À La Mise En Œuvre. Lui donner un essai.
Une fois que vous avez installé l'extension, vous pouvez simplement faire un clic droit à toutes les occurrences de l'interface (par exemple, IUrlShortener) et cliquez sur
Go To Implementation
menu. Si vous avez seulement une classe qui implémente l'interface, cliquer sur le menu vous permettra d'accéder directement à la classe. Si vous avez plus d'une classe qui implémente l'interface, il affichera la liste de toutes les classes.Pour les personnes à l'aide de Visual Studio 2015, l'installation de Visual Studio 2015 mise à Jour de 1 RC. À partir de la Visual Studio blog:
CTRL
+F12
Je ne pense pas que cette fonctionnalité est intégrée dans VS, mais autant que je me souvienne Resharper a cette.
Que vous pourriez faire une expression régulière pour l'interface.
CTRL+MAJ+F lance la fenêtre suivante:
Je préfère le "Naviguer Vers..." option. Avec votre curseur de souris sur l'appel de la fonction, essayez les solutions suivantes:
Touche De Raccourci:
Menu:
Avantages:
"type" de la mise en œuvre de sorte qu'il sera la note qui est votre interface
Utilisez Maj + F12 pour afficher toutes les références, y compris les définitions.
Si vous utilisez resharper ALT + FIN raccourci peut vous aider à trouver tous les Héritiers.
J'ai entendu dire (pas d'expérience moi-même) que doxygen est de .Net comme javadoc est de java.