JetBrains Rider
 
2021.3
Get JetBrains Rider
You are viewing the documentation for an earlier version of JetBrains Rider.

Code Inspection: Convert delegate variable to local function

Last modified: 07 April 2022

Local functions, unlike lambdas or delegates, do not cause additional overhead because they are essentially regular methods. For example, instantiating and invoking a delegate requires additional members being generated by compiler and causing some memory overhead. Another benefit of local functions is their support for all the syntax elements allowed in regular methods. If it is possible to replace a delegate with local function, JetBrains Rider suggests doing so.

Consider an example with a user-defined delegate. JetBrains Rider replaces the delegate variable mymethod with a local function Mymethod. After the replacement, it also suggests removing the unused delegate MethodDelegate.

In another example, JetBrains Rider replaces a generic delegate Func with a local function: