簡體   English   中英

C#中的別名技術?

[英]Techniques for aliasing in C#?

假設我想使用假設語法在C#中創建一個類型的別名:

 Currency = float;

然后我離開並創建幾千個使用Currency類型的文件。

然后我意識到我更喜歡使用FCL類型:

 Currency = System.Single;

很好,所有代碼仍然有效。

...幾個月后...

等等,我得到一些奇怪的舍入錯誤。 哦,這就是為什么, System.Single只有7位數的精度 讓這個數字達到15位:

 Currency = System.Double;

...多年后...

哦, 浮點不准確; 乘以$0.0011/unit * 217,384 units暴露了使用浮點的一些限制。 會計師反對“會計違規行為”。 沒問題:

Currency = System.Decimal;

...多年后...

國際申請? 貨幣代碼。 Hmmmm。 謝謝CodeProject

 Currency = Money;

...后來...

噢,模式和做法。 讓我們混淆一些代碼:

 Currency = ICurrency;

在所有這些廢話代碼中沒有破壞。

我知道C#不支持這種級別的封裝和使用我編寫的語法的重現性。

但是,任何人都可以提出一個語法,可以模擬 什么 已經 嘗試 完成包括 我自己 )?

創建一個名為Currency的類並實現(或委托)適當的運算符,然后在需要時更改用於在內部存儲數據的類。

您可以使用using像這樣: using Currency = System.Single; ,但您必須在每個文件中執行此操作。 但比在整個應用程序中搜索單個更容易更改。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM