gpt4 book ai didi

c# - C# 中的别名技术?

转载 作者:可可西里 更新时间:2023-11-01 08:26:03 24 4
gpt4 key购买 nike

假设我想使用假设的语法在 C# 中创建一个类型的别名:

 Currency = float;

然后我离开并创建几千个使用 Currency 类型的文件。

然后我意识到我更喜欢使用 FCL 类型:

 Currency = System.Single;

非常好,所有代码仍然有效。

...几个月后...

等等,我遇到了一些奇怪的舍入错误。哦,这就是为什么,System.Single only has 7 digits of precision .最多 15 位数字:

 Currency = System.Double;

...多年后...

Ohhhh, float 不精确;乘以 $0.0011/unit * 217,384 units 暴露了使用 float 的一些限制。会计师是反对“会计违规行为”的坚持者。没问题:

Currency = System.Decimal;

...多年后...

国际申请?货币代码。嗯嗯。 Thank you CodeProject :

 Currency = Money;

...稍后...

哦,模式和实践。让我们混淆其中的一些代码:

 Currency = ICurrency;

在所有这些无意义的代码中,代码没有被破坏。

我知道 C# 不支持这个级别的 encapsulation以及我编写的语法的弹性。

但是谁能提出一个可以 simulate 的语法呢? what people have been trying to accomplish ( including myself )?

最佳答案

创建一个名为 Currency 的类并实现(或委托(delegate))适当的运算符,然后在需要时更改用于在内部存储数据的类。

关于c# - C# 中的别名技术?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8526603/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com