ReSharper 2019.2 Help

Implementing/Overriding Members

ReSharper | Edit | Generate Code | Missing Members / Overriding Members
Alt+Insert | Missing Members / Overriding Members
ReSharper_GenerateImplementations/ ReSharper_GenerateOverrides

For inherited types, ReSharper provides two related code generation features:

  • Implement missing members implements any interface members or abstract members missing from the current class.

  • Override members does the same as Implement missing members, but it also overrides virtual members if applicable.

Normally, you would not need the Implement missing members command because ReSharper highlights types with non-implemented base members as error and lets you generate the missing members with a quick-fix (Alt+Enter):

'Implement members' quick-fix

To implement and/or override members

  1. Set the caret within a class where you would like to implement and/or override members from base types.

  2. Press Alt+Insert or choose ReSharper | Edit | Generate Codeā€¦ from the main menu. Alternatively, you can press Ctrl+Shift+A, start typing the command name in the popup, and then choose it there.

  3. In the Generate popup, select Missing Members / Overriding Members.

  4. In the Generate dialog that appears, select members to implement and/or override:

    Generating overriding members

    The Implement missing members page differs from Override members in two ways:

    • It does not show overridable members (such as members of the Object class in this case).

    • It does not emphasize must-implement members with bold.

  5. Optionally, use the following controls that are applied to all implemented/overridden members at this point (see next step for guidelines on configuring individual members):

    • Implement as lets you choose whether to implement members as:

      • Public members

      • Public virtual members

      • Explicitly implement them as private members

    • Make properties mutable appears if there are get-only properties in the implemented interface. By default, ReSharper will generate get-only implementations. Use this checkbox to add setters to the implementations of get-only properties.

    • Properties as lets you choose whether to implement properties as:

      • Traditional properties with default accessor bodies.

      • Traditional properties that access private fields

      • Automatic properties

  6. Click Finish to complete the wizard.
    You can also click Options to review or modify common code generation preferences on the Code Editing | Members Generation page of ReSharper options.

This feature is supported in the following languages and technologies:

Language: C# Language: VB.NET Language: C++ Language: HTML Language: ASP.NET Language: Razor Language: JavaScript Language: TypeScript Language: CSS Language: XML Language: XAML Language: Resx Language: Build Scripts Language: Protobuf Language: JSON
Feature is available Feature is available Feature is available Feature is not available Feature is not available Feature is not available Feature is not available Feature is available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available Feature is not available

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.

Last modified: 18 November 2019