Convert Method to Indexer refactoring
This refactoring helps you convert methods that access collections into indexers and update method usages accordingly. You can apply it to:
- A method with return value and one or more parameters to convert it into the
getaccessor of an indexer with the same set of parameters.
- A method with
voidreturn type and two or more parameters (the last of which is expected to be a value and the others represent the index) to convert it into the
setaccessor of an indexer.
If an indexer with only one of the accessors exists, the refactoring will try to add the second accessor if the converted method fits.
Consider the following example:
|Before refactoring||Applied to 'GetBookAt'||Then applied to 'InsertBookAt'|
| || || |
To convert a method to an indexer
- Place the caret at the declaration or a usage of a method in the editor, or select it in the File Structure window.
- Do one of the following:
- Press Ctrl+Shift+R and then choose Convert Method to Indexer
- Right-click and choose Refactor | Convert Method to Indexer in the context menu.
- Choose in the main menu.
- If no conflicts are found, ReSharper performs the refactoring immediately. Otherwise, it prompts you to resolve conflicts.
This feature is supported in the following languages and technologies:
The instructions and examples given here address the use of the feature in C#. For details specific to other languages, see corresponding topics in the ReSharper by Language section.