The Go to Base Symbols feature enables you to navigate up the inheritance hierarchy to the base type or member of the current symbol.
- Place the caret at a usage or declaration of a symbol in the editor. You can also select the symbol in the File Structure window, as well as in Object Browser, Solution Explorer and Class View.
Do one the following:
- On the main menu, choose ReSharper | Navigate | Base Symbols.
- Choose Navigate To | Base Symbols on the context menu.
- Press Ctrl+UAlt+Home.
If the selected symbol has one base symbol, ReSharper navigates you directly to it.
If the selected symbol has more than one base symbols, they are displayed in the drop-down list. So you can do one of the following:
- To view the list of base symbols in the Find Results window, click Show in Find Results or press + on the numeric keypad.
- To navigate directly to the base symbol, select the symbol name in the drop-down list and press Enter.
If a symbol belongs to the current solution, ReSharper opens the corresponding file in the editor and places the caret at the symbol declaration. If a symbol is found in referenced libraries, ReSharper navigates according to the settings defined on the External Sources page of the Options dialog box. For more information, see External Sources.
Consider the example below:
You can see when a method overrides, implements, or hides another member by a special icon(s) that appears at the member declaration on the left gutter of the editor. Hover the mouse over this icon to see the base symbol for this member. Click the icon to navigate to the base symbol.
By default, if there is only one found usage, ReSharper navigates you directly to the the usage. To change the behavior, use controls on the Search & Navigation page of the Options dialog box. For more information, see Search & Navigation
To achieve the opposite goal, to navigate from a base symbol to its derived symbols, use the Go to Derived Symbols navigation feature.
This feature is supported in the following languages/technologies:
The instructions and examples given here address the use of the feature in C#. For details specific to other languages, see the corresponding topics in the ReSharper by Language section.