typeof
を nameof
に変換する
このリファクタリングは以下に適用されます。
- 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
オブジェクトの取得に関連する反映が回避されます。プログラミング手法としては実用性が高くなります。
方法
C# の
typeof(<QualifiedType>).Name
インスタンスまたは Visual Basic のGetType(<QualifiedType>).Name
の中にカーソルを置きます。Ctrl+. キーを押して、[クイック アクションとリファクタリング] メニューをトリガーします。
次のオプションから 1 つを選択します。
C#
['typeof' から 'nameof' へ変換] を選択します。Visual Basic
['GetType' から 'NameOf' へ変換] を選択します。