dotPeek Web Help

Navigate | Go to Implementation
Ctrl+Shift+Alt+BCtrl+Shift+Alt+B

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.

To navigate to implementation of a type or type member
  1. Place the caret at the declaration or usage of a type or type member.
  2. On the main menu, choose Navigate | Go to Implementation, or press Ctrl+Shift+Alt+BCtrl+Shift+Alt+B.
  3. If the symbol has only one implementation, dotPeek will navigate to it directly.
  4. If the symbol several implementations, they will be listed in the drop-down list. Do one of the following:
    • To view the list of found items in the Find Results window, click Show in Find Results go_to__show_in_find_results or press + on the numeric keypad.
    • To navigate directly to a specific item, click on it in the lookup list or select it and press Enter.

Note

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.

If there are several implementations in an inheritance chain, Go to Implementation bypasses intermediate steps. Suppose that interface IDocument has the following inheritors:
Navigation_and_Search__Go_to_Implementation__hierarchy
However, when you invoke Go to Implementation upon the declaration or a usage of the IDocument interface, dotPeek shows only four inheritors:
Navigation_and_Search__Go_to_Implementation__drop-down_list
That's because DocumentBase, being an abstract class, doesn't contain implementation of the IDocument interface, as well as ManagedDocumentBase and VsDocumentCommon.

Note

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.

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