假设我想使用假设语法在C#中创建一个类型的别名:
Currency = float;
Run Code Online (Sandbox Code Playgroud)
然后我离开并创建几千个使用Currency类型的文件.
然后我意识到我更喜欢使用FCL类型:
Currency = System.Single;
Run Code Online (Sandbox Code Playgroud)
很好,所有代码仍然有效.
...几个月后...
等等,我得到一些奇怪的舍入错误.哦,这就是为什么,System.Single只有7位数的精度.让这个数字达到15位:
Currency = System.Double;
Run Code Online (Sandbox Code Playgroud)
...多年后...
哦,浮点不准确; 乘法$0.0011/unit * 217,384 units暴露了使用浮点的一些限制.会计师反对"会计违规行为".没问题:
Currency = System.Decimal;
Run Code Online (Sandbox Code Playgroud)
...多年后...
国际申请?货币代码.Hmmmm.谢谢CodeProject:
Currency = Money;
Run Code Online (Sandbox Code Playgroud)
...后来...
噢,模式和做法.让我们混淆一些代码:
Currency = ICurrency;
Run Code Online (Sandbox Code Playgroud)
在所有这些废话代码中没有破坏.
我知道C#不支持这种级别的封装和使用我编写的语法的重现性.
| 归档时间: |
|
| 查看次数: |
249 次 |
| 最近记录: |