c# how to return a function
public void DoSomething() // Action
public void DoSomething(int number) // Action<int>
public void DoSomething(int number, string text) // Action<int, string>
public int DoSomething() // Func<int>
public int DoSomething(float number) // Func<float, int>
public int DoSomething(float number, string text) // Func<float, string, int>