ReSharper 2018.2 Help

Code Inspection: Introduce optional parameters (private accessibility)

If the single purpose of an overloaded function is to call the 'implementation' function with default values for some arguments, Optional Parameters (introduced in C# 4.0) can be used in the 'implementation' function instead of this overload.

ReSharper helps you detect such overloads and automatically remove them, making the corresponding parameters of the 'implementation' functions optional.

Here is an example of a quick-fix suggested by this inspection:

Suboptimal code

After the quick-fix

void Foo(object value) { Foo(value, true); } void Foo(object value, bool flag) { //implementation }

void Foo(object value, bool flag = true) { //implementation }

Last modified: 28 November 2018

See Also