dotPeek 2022.3 Help

Find Usages of Related Entities

This command enables you to find usages of entities that are somehow related to the selected symbol (for example, textual occurrences, dynamic references, and so on) in the specific scope. You can invoke this command from the Assembly Explorer, from File Structure and other tool windows.

Find usages of related entities from the current context

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

  2. Press Shift+Alt+F7 or choose Navigate | Find Usages Advanced in the main menu.

  3. In the Search Properties dialog that opens, you can customize your search.

  4. Use checkboxes in the Find column to specify what kind of relates symbols should be included in the results. Depending on the original symbol, the set of options varies. For example, if it is a type, you can look for usages of members; if it is a delegate, you can look for delegate target, and so on. For more information, see Find options for different symbols.

  5. In the Scope column, choose the scope of the search.

  6. If the original symbol is an overriding member in a derived class or an implemented interface member, dotPeek displays the original member and all its base members in the Search field. You choose whether to look for usages of the base member or those of the overriding member.

  7. Click Find.

  8. If a single usage is found, dotPeek will navigate you to the usage directly in the code viewer. Two or more search results will be shown in the Find Results window, where you can conveniently explore and analyze the usages.

Find usages of entities related to any symbol from the currently loaded assemblies

  1. Search the desired symbol using one of the following commands:

  2. When the desired symbol appears in the results list, select it using the keyboard and then press Shift+Alt+F7.

  3. If a single usage is found, dotPeek will navigate you to the usage directly in the code viewer. Two or more search results will be shown in the Find Results window, where you can conveniently explore and analyze the usages.

dotPeek. 'Search Properties' dialog

Find options for different symbols

Usages

Usages of members

Derived types

Delegate targets

Textual occurrences

Late-bound references 1)

Extending interfaces

Implementations

Implementing methods

Include overloading

Overriding…

Classes

Supported

Supported

Supported

Supported

Constants

Supported

Supported

Supported

Constructors

Supported

Supported

Delegates

Supported

Supported

Supported

Enumeration members

Supported

Supported

Supported

Enumerations

Supported

Supported

Supported

Events

Supported

Supported

Supported

Available 2)

Fields

Supported

Supported

Supported

Files

Supported

Supported

Supported

Indexers

Supported

Supported

Supported

Available 3)

Available 4)

Interfaces

Supported

Supported

Supported

Supported

Supported

Methods (base)

Supported

Supported

Supported

Supported

Available 5)

Methods (overriding, standalone)

Supported

Supported

Supported

Available 6)

Available 7)

Namespaces

Supported

Supported

Operators

Supported

Supported

Supported

Parameters

Supported

Supported

Supported

Properties

Supported

Supported

Supported

Available 8)

Structs

Supported

Supported

Supported

Type parameters

Supported

Supported

Variables

Supported

Supported

Supported

1) Late-bound references are references to members of objects that are bound to a specific type as late as at runtime. Late-bound references are allowed in VB.NET, ASP.NET, and XAML. Starting from version 4.0, late binding is also available in C# with the dynamic keyword.

For example, obj.DoSomething() in the following VB.NET subroutine is a late-bound reference since it's not known before runtime if an object passed to the subroutine does actually have a method DoSomething():

Option Strict Off Module LateBind Public Sub DoWork(ByVal obj As Object) obj.DoSomething() End Sub End Module

2) Available for events with virtual modifier. (back)

3) If available. (back)

4) Available for indexers with virtual modifier. (back)

5) If available. (back)

6) If available. (back)

7) If available. (back)

8) If available. (back)

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

Last modified: 22 December 2022