Часто при просмотре кода я сталкиваюсь с чем-то вроде этого:
public class Fruity
{
private IOrange _Orange;
public Fruity()
{
_Orange = new Orange() as IOrange;
}
public void PrepareFruit()
{
return _Orange.Peel();
}
}
Отлично, теперь я хочу посмотреть, как реализован метод Peel. Щелчок правой кнопкой мыши по методу дает мне Go To Definition, которое приводит меня к заглушке интерфейса.
ОК, строго говоря, определение приписывается интерфейсом, учитывая, что личная переменная определена таким образом, но есть ли способ просто перейти к реализации?
Существует, конечно, "Найти все ссылки", который представляет собой подход к вызовам, интерфейсам и конкрециям с разбросом. Но источник реализации в этом случае очевиден, поэтому я должен был бы перейти к нему, я бы подумал...
Очевидно, иногда может быть двусмысленность, которая здесь хорошо описана:
Перейти к определению для конкретного типа
Но, конечно, должна быть опция Go To Implementation, когда реализация кристально чиста.