JetBrains Rider 2024.1 Help

Generate Missing/Overriding Members

For inherited types, JetBrains Rider 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 JetBrains Rider 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. Place the caret within a class where you would like to implement and/or override members from base types.

  2. Press Alt+Insert or choose Code | Generate... 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, JetBrains Rider 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 OK to complete the wizard.

Last modified: 11 February 2024