Existe-t-il un moyen rapide de trouver toutes les implémentations de la méthode/propriété/etc d'une interface, et non des références à celle-ci? Voici un exemple de code:
public class SomeClass : IBaseClass
{
public Int32 GetInt()
{
return 1;
}
}
public interface IBaseClass
{
public Int32 GetInt();
}
public class SomeOtherClass
{
IBaseClass _someClass;
private TestMethod()
{
_someClass = new SomeClass();
_someClass.GetInt();
}
}
Je veux accéder rapidement à SomeClass.GetInt () lors de l'examen de SomeOtherClass.TestMethod (). Si je clique avec le bouton droit sur _someClass.GetInt () et que je clique sur "Aller à la définition", cela m'amène à l'interface. Si je clique sur "Rechercher toutes les références", je pourrais potentiellement voir une liste de toutes les utilisations ... pas seulement les classes qui implémentent la méthode GetInt ().
Existe-t-il un moyen plus rapide de trouver cela? Des conseils d'autres développeurs? Nous utilisons D.I. pour la plupart de nos dépendances, ce qui signifie que le traçage à travers du code profondément imbriqué prend pour toujours.
Comme je n'aime pas utiliser la souris lors du codage, j'ai l'habitude
AFAIK c'est le moyen le plus rapide pour trouver l'implémentation d'une méthode, sans ReSharper.
(Au fait: vous pouvez utiliser le même système pour passer d'une implémentation de méthode de classe à la déclaration d'interface correspondante: sélectionnez simplement la racine)
Alt-End le fera dans ReSharper, je crois.
Sans ReSharper, la meilleure façon de procéder est:
Rechercher dans les fichiers (Ctrl + Maj + F) Rechercher quoi: "classe * ISomeClass" Options de recherche: "Utiliser des caractères génériques"
Cela trouvera toutes les implémentations et vous pourrez rechercher votre fonction dans une implémentation concrète.
vous pouvez essayer d'aller avec ce plugin:
Si votre interface se trouve dans la même bibliothèque que votre modèle concret vers laquelle vous souhaiterez généralement naviguer, vous pouvez ajouter un "à l'aide d'alias" à l'objet concret. Les "utilisations" sont de toute façon des aides, et cela aide.
using System;
using PrimaryImplementation = YourNamespace.YourConcreteObject;
public interface IYourInterface{
}
Lorsque vous êtes amené à l'interface, vous avez un moyen rapide (et sale) d'accéder à l'implémentation principale de votre interface. F12-> F12!
R # a une option Aller à l'implémentation dans le menu contextuel, ce qui est vraiment pratique pour cela.