Другой способ - записать несколько перегрузок: одну перегрузку для каждой дополнительной пары требуемых параметров.Это может показаться излишним, но на самом деле может сделать код достаточно ясным.
public void Include(string k0, object v0) { ... }
public void Include(string k0, object v0, string k1, object v1) { ... }
public void Include(string k0, object v0, string k1, object v1, string k2, object v2) { ... }
public void Include(string k0, object v0, string k1, object v1, string k2, object v2, string k3, object v3) { ... }
public void Include(string k0, object v0, string k1, object v1, string k2, object v2, string k3, object v3, string k4, object v4) { ... }
Каждый метод выполняет свою операцию.Плохая вещь, у вас есть фиксированное количество максимальных количеств параметров.
Хорошая вещь, вы можете оптимизировать вызов для каждой функции, увеличивая производительность.
Вы также можете использовать эту технику, используя методы расширенийдля базового класса или интерфейса, если необходимо.