ReSharper 2020.1 Help

Code Inspection: Local function can be made static

Static local functions are designed to be independent of the state of the enclosing scope. Therefore, if ReSharper detects a local function that does not use any variables from the enclosing scope, it suggests making such function static.

This way ReSharper infers the intended use of the function and makes sure that this intent is clearly visible to those who will read or modify the code later.

class Test { void Foo() { Console.WriteLine(LocalFunction1("test ")); // Can be made static because no local variables are captured string LocalFunction1(string str) => str.Trim(' '); const string test = "test "; Console.WriteLine(LocalFunction2()); // Cannot be made static because the variable 'test' is captured string LocalFunction2() => test.Trim(' '); } }
Last modified: 27 May 2020