ReSharper Web Help

This refactoring is available in: ReSharper Full Edition and ReSharper C# Edition

The Convert Anonymous to Named Type refactoring converts anonymous types to nested or top-level named types in the scope of either the current method (locally) or the whole solution (globally). In the dialog box that this refactoring provides, you can also specify whether ReSharper should generate auto-properties or properties with backing fields, and opt to generate equality and formatting method overrides.

To convert an anonymous type to a named type
  1. Locate an anonymous type and position the caret at either its object initializer or new keyword:
    Convert Anonymous to Named Type refactoring
  2. Select ReSharper | Refactor | Convert | Anonymous to Named Type. The Replace Anonymous Type with Named Class dialog box will appear:
    Convert Anonymous to Named Type dialog box
  3. Specify a name for the new class, and configure the following options:
    • Scope: ReSharper can convert anonymous types with compatible object initializers in the scope of either the current method or the whole solution.
    • Location: the new named type can be nested in the current type, or created as an independent entity.
    • How to generate properties: ReSharper can generate either read and write auto-properties, or read-only properties with backing fields in the new class.
    • How to generate methods: an an option, you can choose to create stubs for Equals(), GetHashCode(), and ToString() method overrides in the new class.
    • Show processed usages in 'Find Results': if this check box is selected, ReSharper will show the new named type as well as all its usages in the Find Results window (see screenshot below).
  4. Click Next. The anonymous type will be converted to a new named class:
    Convert Anonymous to Named Type refactoring
    All usages of the type found within the specified scope will be modified accordingly:
    Convert Anonymous to Named Type refactoring
    If you have selected Show processed usages in 'Find Results', the new class and any modified type usages will be shown in the Find Results tool window:
    Convert Anonymous to Named Type refactoring (Find Results view)

See Also

Procedures