ReSharper 2017.1 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 codeAfter 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 }

See Also

Last modified: 4 July 2017