Предположим, что я хочу создать псевдоним типа в С# с помощью гипотетического синтаксиса:
Currency = float;
Затем я ухожу и создаю несколько тысяч файлов, которые используют тип Currency
.
Тогда я понимаю, что предпочитаю использовать типы FCL:
Currency = System.Single;
Отлично, весь код все еще работает.
... месяцев спустя...
Подождите, я получаю некоторые странные ошибки округления. О, почему, System.Single
имеет только 7 цифр точности. Устанавливает до 15 цифр:
Currency = System.Double;
... лет спустя...
Ohhhh, плавающая точка не является точной; умножение $0.0011/unit * 217,384 units
предоставляет некоторые ограничения использования с плавающей запятой. И бухгалтеры являются сторонниками "нарушений бухгалтерского учета". Нет проблем:
Currency = System.Decimal;
... лет спустя...
Международные заявки? Коды валют. Хммм. Спасибо CodeProject:
Currency = Money;
... позже...
Ооо, узоры и практики. Позвольте запутать некоторые из этого кода:
Currency = ICurrency;
И во время всего этого бессмыслица код не сломался.
Я знаю, что С# не поддерживает этот уровень encapsulation и resilency с синтаксисом, который я составил.
Но может ли кто-нибудь предложить синтаксис, который может имитировать что люди имеют try выполнить (в том числе сам)?