Возможно это не к вам, вопрос скорее по архитектуре, у меня в определённом классе есть методы, которые возвращают один и тот же тип, но принимают разные аргументы, на вход подаётся строка, первое слово строки означает метод, который юзер хочет вызвать, а последующие - это аргументы, каким образом лучше всего реализовать подобную систему контроля, таких методов может быть тысячи и сотни if'оф это точно не вариант
Возможно уже как то бесполезно и поздно, но всё же, я не придумал ни чего лучше чем кидать внутрь метода аргументы в виде строки, который метод сам же и парсит как ему вздумается, это дало возможность засунуть их в один делегат, ведь теперь они принимают и возвращают одно и то же, поэтому я создал словарь из имени команды и делегата с ссылкой на метод, при таком раскладе, чтобы добавить новую функцию мне нужно просто написать её и занести её в словарь