Как заставить двойной х = 3/2; вернуть 1,5 в x без суффикса D или приведения? Есть ли какая-либо перегрузка оператора, которая может быть сделана? Или какой-то вариант компилятора?
Удивительно, но добавить кастинг или суффикс не так просто по следующей причине:
Бизнес-пользователи должны писать и отлаживать свои собственные формулы. В настоящее время C # используется как DSL (предметно-ориентированный язык), поскольку эти пользователи не являются инженерами в области компьютерных наук. Поэтому все, что они знают, это как редактировать и создавать несколько типов классов для хранения их «бизнес-правил», которые обычно являются просто математическими формулами.
Но они всегда предполагают, что double x = 3/2; вернет х = 1,5
однако в C # возвращается 1.
A. они всегда об этом забывают, тратят время на отладку, зовут меня на поддержку и мы исправляем.
Б. они думают, что это очень некрасиво и вредит читабельности их бизнес-правил.
Как вы знаете, DSL должен быть больше похож на естественный язык.
Да. Мы планируем перейти на Boo и построить DSL на его основе, но это еще не все.
Есть ли простое решение сделать двойной х = 3/2; вернуть 1.5 чем-то внешним для класса, чтобы оно было невидимым для пользователей?
Спасибо!
Wayne