ReSharper 2025.2 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# 中使用该功能。 有关其他语言的更多信息,请参阅 语言和框架 部分中的相应主题。

最后修改日期: 2025年 9月 27日