У меня есть абстрактный класс, как определено здесь:
public abstract class BaseClientService<T>
where T : ISubsetInfo
{
abstract T Extract(Superset superset);
}
Это хорошо работает для всех моих реализаций, но теперь я столкнулся с реализацией, для корректной работы которой требуется дополнительный аргумент.
например
T Extract(Superset superset, int id)
Я пытаюсь найти самое элегантное решение, поэтому стараюсь не включать второй аргумент как обнуляемый или необязательный, но я не уверен, стоит ли оно усилий ...
Я также хотел бы обернуть аргументы в объекте и включить в него идентификатор для граничного регистра, но я думаю, что это делает его более сложным, когда я пытаюсь сделать его проще.
Важным ограничением для меня является то, что у меня всегда есть один метод для вызова в абстрактном классе.