インデクサーをメソッドに変換リファクタリング
このリファクタリングは、インデクサの一方または両方のアクセサーをメソッドに変換し、それに応じて現在のソリューションのインデクサの使用状況を更新できます。
以下の例では、JetBrains Rider がインデクサーの 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);
}
}
インデクサーをメソッドに変換する
エディターでインデクサーの
thisキーワードにキャレットを置くか、 構造ウィンドウウィンドウでインデクサーを選択します。次のいずれかを実行します:
Ctrl+Alt+Shift+T を押し、を インデクサーをメソッドに変換する を選択します。
メインメニューから を選択します。
インデクサーをメソッドに変換する ダイアログが開きます。
ダイアログ内のコントロールを使用して、変換するアクセサーを選択し、作成されたメソッドの名前を指定します。
リファクタリングを適用するには、 次へ をクリックします。
競合するものが見つからない場合、JetBrains Rider はすぐにリファクタリングを実行します。 それ以外の場合は、 競合を解決するように求められます。

2026 年 6 月 12 日