Sicuramente l'overload è una soluzione corretta.
Nel caso in cui i parametri siano omogenei (con object anche no) ed hai la necessità di gestire una variazione in numero con un delta ampio, puoi utilizzare la parola chiave params.
Di seguito un esempio di un metodo che utilizza params nella firma, e i possibili modi per sfruttarlo quando chiami il metodo

codice:
protected int Somma(params int[] valori)
{
    foreach (int valore in valori)
        ...

   ...
}
codice:
int x;
x = Somma(1);
x = Somma(1,2,3,4);

int[] addendi = new int[] {1,2,3};
x = Somma(addendi);