ReSharper
 
Get ReSharper
You are viewing the documentation for an earlier version of ReSharper.

Go to Derived Symbols

Last modified: 21 July 2022

ReSharper | Navigate | Derived Symbols

Alt+End (ReSharper_GotoInheritors)

This command gets the list of all derived symbols for a type or a member and lets you navigate directly to one of them, down the inheritance hierarchy. If you are looking for actual implementations and not interested in intermediate steps of the inheritance chain, use Go to Implementation.

You can invoke this command from the Solution Explorer, 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.

If there are members in derived classes that hide the member you're navigating from, such members are displayed as strikethrough:

ReSharper: Hidden inheritor

When a type or a member has inheritors in the current solution, ReSharper adds a special icon (for example, Themed icon has overrides screen gray) to the left of the declaration. You can click the icon to expand the list of derived symbols and navigate.

ReSharper: 'Interface is implemented' tooltip

To find out whether the type or a member has inheritors and display the corresponding gutter mark, ReSharper has to perform some calculations. Although these calculations are performed efficiently and without any performance impact in most cases, large inheritance hierarchies with the combination of weak hardware could lead to some performance degradation. If such cases, you can clear the Show gutter navigation marks for implemented and overridden types and members checkbox on the Environment | Editor | Appearance page of ReSharper options to avoid complex calculations and thus improve performance.

On the other hand, on-the-fly detection of base types or members is much cheaper performance-wise. Therefore, the hierarchy marks for types and members that implement or override other types or members are not disabled with this option.

This feature is supported in the following languages and technologies:

The instructions and examples given here address the use of the feature in C#. For details specific to other languages, see corresponding topics in the ReSharper by language section.