This navigation feature lets you jump from a base type or member to any of its end implementations, bypassing intermediate steps in the inheritance chain. In other words, it works similar to Go to Derived Symbols but it doesn't show abstract classes and interfaces.
- Place the caret at the declaration or usage of a type or type member.
- On the main menu, choose ReSharper | Navigate | Go to Implementation , or press Ctrl+Shift+Alt+B.
- If the symbol has only one implementation, ReSharper will navigate to it directly.
If the symbol several implementations, they will be listed in the drop-down list.
Do one of the following:
- To view the list of implementations in the Find Results window, click Show in Find Results or press + on the numeric keypad.
- To navigate directly to an implementation, select it in the drop-down list and press Enter.
If the target symbol belongs to the current solution, ReSharper will open the corresponding file in the editor and set the caret at the type declaration. If the symbol is found in referenced libraries, ReSharper navigates according to the settings defined in the External Sources page of the ReSharper options. For more information, see Navigating to Compiled Code.
If there are several implementations in an inheritance chain, Go to Implementation
bypasses intermediate steps.
Suppose that interface IDocument has the following inheritors:
However, when you invoke Go to Implementation upon the declaration or a usage of the IDocument interface, ReSharper shows only four inheritors:
That's because DocumentBase, being an abstract class, doesn't contain implementation of the IDocument interface, as well as ManagedDocumentBase and VsDocumentCommon.
The drop-down list that shows implementations may contain items in both bold and regular font. Bold indicates that an item represents a direct inheritor containing the implementation, while regular is used for indirect inheritors.