dotPeek 10.0
Help

Go to Implementation

Navigate | Go To ImplementationCtrl+Shift+Alt+B

This command 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 .

Alternatively to navigation, you can
visually explore
full inheritance hierarchy of the symbol.

You can invoke this command from the code viewer, from the
File Structure Window and other tool windows.
If necessary, you can navigate in the opposite direction with the
Go to Base Symbols
command.

To navigate to implementation of a type or type member

Place the caret on a symbol in the code viewer or select the symbol in a tool window.

Choose
Navigate | Go To Implementation
in the main menu, press
Ctrl+Shift+Alt+B, or click the symbol holding
Ctrl+Alt
keys.

If the symbol has only one implementation, dotPeek will navigate to it directly.
If necessary, you can change the default behavior so that even the single symbol is displayed in the
drop-down list.
To do so, clear the
check box in the
options page.

If the symbol has several implementations, they will be listed in a drop-down list.
The drop-down list may contain items in both bold and regular font. Bold indicates that an item has
direct inheritance, while the regular font is used for indirect inheritance.
You can do one of the following:

Click on the desired item to open it in the editor.

Select the desired item by pressing
UpArrow and
DownArrow and the press
Enter to open it in the editor.

Start typing to filter results. Note that you can use
CamelHumps here.
If necessary, press
Esc once to clear the filtering.

To view and
analyze
the list of matched items in the
Find Results Window, click
Show in Find Results
or press
+
on the numeric keypad.

dotPeek navigates to target symbols according to settings defined in the
Navigation section on the
Decompiler page of the dotPeek options. For more information, see
Navigating to Compiled Code.

Here is an example of how
Go to Implementation
bypasses intermediate steps. Suppose that the
IDocument interface has the following inheritors:
When you invoke the
Go to Implementation
upon the declaration or a usage of the
IDocument, dotPeek shows only two inheritors:
That is because other classes are abstract and do not contain implementation of the
IDocument.

This feature is inspired by and borrowed from
JetBrains ReSharper,
a developer productivity tool for Microsoft Visual Studio.