Преобразование typeof в nameof

Область применения этого рефакторинга:

  • C#
  • Visual Basic

Что: позволяет преобразовать экземпляр typeof(<QualifiedType>).Name nameof(<QualifiedType>) в C# и экземпляр GetType(<QualifiedType>).Name NameOf(<QualifiedType>) в Visual Basic.

Когда: все экземпляры typeof(<QualifiedType>).Name , где someType не является универсальным типом. Это исключение необходимо, так как в этом случае не возвращается то же строковое значение, что и nameof(<QualifiedType>). Это справедливо и для экземпляра Visual Basic.

Почему: использование nameof вместо имени избегает отражения, связанного type с извлечением type объекта, и является более прагматичным способом его написания.

Практические советы

  1. Поместите курсор в экземпляр typeof(<QualifiedType>).Name для C# или в GetType(<QualifiedType>).Name для Visual Basic.

  2. Нажмите CTRL+., чтобы открыть меню Быстрые действия и рефакторинг.

  3. Выберите один из следующих параметров:

    • C#
      Выберите Convert 'typeof' to 'nameof': Screenshot of the Quick Actions and Refactorings menu in Visual Studio with Convert 'typeof' to 'nameof' selected, and C# code changes shown.

    • Visual Basic
      Выберите Convert 'GetType' to 'NameOf': Screenshot of the Quick Actions and Refactorings menu in Visual Studio with Convert 'GetType' to 'NameOf' selected and Visual Basic code changes shown.

См. также