Необязательные аргументы в дереве выражений - PullRequest
0 голосов
/ 13 марта 2019

Я (пытался) передать выражение вызова методу, который принимает необязательные параметры, и столкнулся с проблемой, описанной в этом Q & A . Он возник в контексте модульного теста.

Эрик Липперт сказал, что поддержка именованных аргументов в деревьях выражений стоит дорого . Что делает это так? Не смешал ли я необязательные аргументы с named?

1 Ответ

1 голос
/ 15 марта 2019

Эрик Липперт сказал, что поддержка именованных аргументов в деревьях выражений стоит дорого.Что делает это так?

Это сложная функция, которая требует тщательного проектирования, реализации, тестирования и документирования, и может привести к бремени обслуживания в будущем.

Вся эта работа должна выполняться экспертами, которые, вероятно, будут довольно занятыми людьми, выполняющими другую работу.

Эта функция займет много времени и усилий и, вероятно, потребуеткоординация работы нескольких людей;Координация также требует времени и усилий.

Если у вас есть команда людей, которые готовы выполнять эту работу бесплатно, сделайте это и отправьте запрос на извлечение.

Если у вас есть командатех людей, которые готовы выполнять эту работу, и вы снова будете платить им зарплату, пожалуйста, сделайте это и отправьте запрос на извлечение.

Если вы этого не сделаете, но вы хотите, чтобы другие люди выполняли эту работудля вас ваша задача состоит в том, чтобы убедить тех людей, что лучшее использование их времени реализует эту функцию для вас.Это не тот форум, на котором можно это обосновывать;сделать случай на форуме github для Roslyn.

Не связал ли я необязательные аргументы с именованным?

Звучит так.Но поддержка необязательных аргументов в деревьях выражений также является потенциально дорогой функцией.

...