You can use Delegate
class that is the base class for all delegate types.
For example:
Action<float> floatAction = (x) => Console.Write(x * 5);
Action<string> stringAction = Console.WriteLine;
Delegate d1 = floatAction;
d1.DynamicInvoke(4.3f);
d1 = stringAction;
d1.DynamicInvoke("Hello world");