假设我想使用假设的语法在C#中创建一个类型的别名:
Currency = float;然后我离开,创建几千个使用Currency类型的文件。
然后我意识到我更喜欢使用FCL类型:
Currency = System.Single;太好了,所有的代码都还能用。
...months后来..。
等等,我有一些奇怪的舍入错误。哦,这就是为什么,只有7位的精度。把这个数字减到15位数:
Currency = System.Double;...years后来..。
哦,浮点不是精确的;乘$0.0011/unit * 217,384 units暴露了使用浮点的一些限制。而会计师们对“会计违规行为”持反对态度。没问题:
Currency = System.Decimal;...years后来..。
国际申请?货币代码。嗯。谢谢CodeProject
Currency = Money;...later...
哦,模式和实践。让我们混淆其中的一些代码:
Currency = ICurrency;在所有这些无稽之谈中,代码并没有被破坏。
我知道C#不支持这个级别的封装,也不支持我编写的语法。
但是,有谁能建议一种可以使用https://stackoverflow.com/questions/2302631/is-it-possible-to-declare-an-alias-with-net-type 什么 人民 有 一直 正在尝试 至 完成 (包括 我自己)的语法吗?
发布于 2011-12-15 21:15:43
您可以像这样使用using:using Currency = System.Single;,但是您必须在每个文件中都这样做。但是仍然更容易更改,而不是在整个应用程序中搜索单个。
发布于 2011-12-15 21:11:39
创建一个名为Currency的类,并实现(或委托)适当的操作符,然后在需要时更改用于在内部存储数据的类。
https://stackoverflow.com/questions/8526603
复制相似问题