我正在寫一個軟件,它使用不同類型的整數(uint,short,ushort,byte等)進行操作。問題是這些數字的類型可能會發生變化,或者在某些情況下需要這些類型的不同組合。問題是:處理這種情況的最佳做法是什麼?我可以想到使用#define
或通用類。但是對於泛型類型沒有任何合適的限制。從具體的整數類型抽象
編輯:整數用於不同硬件的配置文件。他們可能使用不同的endians或不同類型的整數。
我正在寫一個軟件,它使用不同類型的整數(uint,short,ushort,byte等)進行操作。問題是這些數字的類型可能會發生變化,或者在某些情況下需要這些類型的不同組合。問題是:處理這種情況的最佳做法是什麼?我可以想到使用#define
或通用類。但是對於泛型類型沒有任何合適的限制。從具體的整數類型抽象
編輯:整數用於不同硬件的配置文件。他們可能使用不同的endians或不同類型的整數。
對於仿製藥,您可以在此處使用的最佳約束條件是:struct
,這不是非常有限制和不允許您訪問任何有用的內容。如果問題是運營商,那麼周圍有各種各樣的黑客; MiscUtil爲泛型提供了操作員支持,或者dynamic
也可以工作(幾乎一樣快,只要您不使用Nullable<T>
)。也許你應該更明確 - 如果你需要的編譯時間,即(每個文件)
using Number = System.Int32;
+1我完全忘記了'動態',好喊。 – 2011-04-18 07:49:48
+1與往常一樣,簡明扼要並且有助於各種方法 – bitxwise 2011-04-18 07:51:39
值類型不能用這樣的泛型抽象出來,沒有共同的基礎給你任何有用的功能。您最好圍繞.NET中的值類型創建自己的結構,並將它們編碼爲讓操作員彼此協作。顯然,你對這些結構的處理取決於你選擇給他們的行爲。
有了這些包裝結構,您還可以定義一個共同的基礎,爲您提供有用的東西。
「我寫這與不同類型的整數操作的軟件」
一個
using
別名可能的幫助。這可能意味着什麼 – 2011-04-18 07:42:57