Inline Field refactoring
Ctrl+R, I
This refactoring helps you replace a field with its value and remove its declaration. For obvious reasons, the refactoring can be applied to a field that has only one write usage. This may be a constant or readonly field, or a field that is initialized and used in the same function.
If the target field has conditional or complex assignment and it is used within a single function, JetBrains Rider will create a local variable to handle the value of the field.
In the example below, we use this refactoring to inline a constant that has a single usage:
Before refactoring | After refactoring |
---|---|
class Shape
{
private const string ErrorMessage = "Something has failed";
public void Draw(string s)
{
try
{
// draw
}
catch (Exception e)
{
Console.WriteLine("{0} : {1}", ErrorMessage, e);
}
}
} | class Shape
{
public void Draw(string s)
{
try
{
// draw
}
catch (Exception e)
{
Console.WriteLine("{0} : {1}", "Something has failed", e);
}
}
} |
To inline a field
- Place the caret at the declaration or a usage of a field, which has only one write usage.
- Do one of the following:
- Press Ctrl+R, I and then choose Inline Field
- Press Ctrl+Shift+R and then choose Inline Field
- Choose in the main menu.
- If no conflicts are found, JetBrains Rider performs the refactoring immediately. Otherwise, it prompts you to resolve conflicts.
Last modified: 19 April 2018