You can create an array of Funcs. However, this is limited to methods that all have the same signature (return type and number and type of parameters).
If you have several methods that don't take any parameters you can use it like this:
var methods = new List<Func<T>>();
where T is the lowest common object in the return value, which might just be object.
var methods = new List<Func<object>>();
If you just want to call void methods, or aren't worried about the return type, you can use Action instead:
var methods = new List<Action>();
Either way, you can then invoke them like so:
foreach(var method in methods){
var result = method();
//or if you don't care about return type
method();
}
You might also find this post useful: How do you use Func<> and Action<> when designing applications?
UPDATED
The example below shows how you can use this technique with your Add and Remove method:
public double Add(double number) { return 0;}
public double Remove(double number) { return 0; }
public void Example()
{
//Array of methods
var methods = new Func<double, double>[]
{
n => Add(n),
n => Remove(n)
};
//Invoking methods
var number = 0d;
foreach (var method in methods)
{
method(number);
}
}