ReSharper 2026.1 Help

インデクサーをメソッドに変換リファクタリング

このリファクタリングは、インデクサの一方または両方のアクセサーをメソッドに変換し、それに応じて現在のソリューションのインデクサの使用状況を更新できます。

以下の例では、ReSharper がインデクサーの getter と setter アクセサーを両方変換し、使用法を更新します:

class BookLibrary { private Book[] books = new Book[1000]; public Book this[int index] { get => books[index]; set => books[index] = value; } public void TestInsertBookAt(Book book, int index) { this[index] = book; } }
class BookLibrary { private Book[] books = new Book[1000]; public void SetItem(int index, Book value) => books[index] = value; public Book GetItem(int index) => books[index]; public void TestInsertBookAt(Book book, int index) { SetItem(index, book); } }

インデクサーをメソッドに変換する

  1. エディターでインデクサーの this キーワードにキャレットを置くか、 ファイル構造ウィンドウ ウィンドウでインデクサーを選択します。

  2. 次のいずれかを実行します。

    • Control+Shift+R を押し、を インデクサーをメソッドに変換する を選択します。

    • 右クリックして、コンテキストメニューから リファクタリング | インデクサーをメソッドに変換する を選択します。

    • メインメニューから ReSharper | リファクタリング | 変換 | メソッドへのインデクサー ... を選択します。

    インデクサーをメソッドに変換する ダイアログが開きます。

  3. ダイアログ内のコントロールを使用して、変換するアクセサーを選択し、作成されたメソッドの名前を指定します。

  4. リファクタリングを適用するには、 次へ をクリックします。

  5. 競合するものが見つからない場合、ReSharper はすぐにリファクタリングを実行します。 それ以外の場合は、 競合を解決するように求められます。

ReSharper リファクタリング: インデクサーをメソッドに変換する

この機能は、次の言語とテクノロジーで サポートされています。

言語: C#

言語: VB.NET

言語: C++

言語: ASP.NET

言語: Razor

言語: XAML

言語: Resx

言語: スクリプトの作成

言語: SQL

この機能は C# で利用可能です

この機能は Visual Basic で利用可能です

この機能は C++ では使用できません

この機能は ASP.NET では使用できません

この機能は Razor では使用できません

機能は XAML では使用できません

機能はリソースファイルでは使用できません

機能はビルドスクリプトファイルでは使用できません

機能は SQL/NoSQL ファイルおよびインジェクションでは利用できません

ここで説明する手順と例では、C# の機能の使用について説明します。 他の言語の詳細については、 言語およびフレームワーク セクションの対応するトピックを参照してください。

2026 年 6 月 12 日