ReSharper 2020.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

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 Control+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.NETLanguage: C++Language: HTMLLanguage: ASP.NETLanguage: RazorLanguage: JavaScriptLanguage: TypeScriptLanguage: CSSLanguage: XMLLanguage: XAMLLanguage: ResxLanguage: Build ScriptsLanguage: ProtobufLanguage: JSON
Feature is available in C#Feature is available in Visual Basic .NETFeature is available in C++Feature is not available in HTMLFeature is not available in ASP.NETFeature is not available in RazorFeature is not available in JavaScriptFeature is available in TypeScriptFeature is not available in CSSFeature is not available in XMLFeature is not available in XAMLFeature is not available in Resource filesFeature is not available in build script filesFeature is not available in ProtobufFeature is not available in JSON

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: 21 August 2020