typeofnameof に変換する

このリファクタリングは以下に適用されます。

  • C#
  • Visual Basic

概要:C# で typeof(<QualifiedType>).Name のインスタンスを nameof(<QualifiedType>) に変換し、Visual Basic で GetType(<QualifiedType>).Name のインスタンスを NameOf(<QualifiedType>) に変換できます。

条件:someType がジェネリック型ではない typeof(<QualifiedType>).Name のあらゆるインスタンス。 この場合は同じ文字列値が nameof(<QualifiedType>) として返されないため、この除外は必要になります。 Visual Basic インスタンスにも同じことが当てはまります。

理由:type の名前ではなく nameof を使用することで、type オブジェクトの取得に関連する反映が回避されます。プログラミング手法としては実用性が高くなります。

方法

  1. C# の typeof(<QualifiedType>).Name インスタンスまたは Visual Basic の GetType(<QualifiedType>).Name の中にカーソルを置きます。

  2. Ctrl+. キーを押して、[クイック アクションとリファクタリング] メニューをトリガーします。

  3. 次のオプションから 1 つを選択します。

    • C#
      ['typeof' から '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
      ['GetType' から 'NameOf' へ変換] を選択します。Screenshot of the Quick Actions and Refactorings menu in Visual Studio with Convert 'GetType' to 'NameOf' selected and Visual Basic code changes shown.

関連項目