我最近讀到C#和CLI標準定義了處理值類型和構造函數的不同方法。C#&CLI與值類型和構造函數有什麼區別?
根據CLI規範,值類型不能具有無參數構造函數,而在C#規範中,值類型具有默認無參數構造函數。如果根據CLI規範,您需要創建一個值而不指定任何參數,那麼需要一個特殊的指令來執行此操作。
所以我的問題是
- 爲什麼C#的設計者有意從CLI標準偏差 - 什麼好處在那裏這一點,爲什麼不CLI允許這種功能?
- 在我有限的經驗中,任何時候當我發現自己使用'特殊指令'來允許最初並不打算使用的功能時,它通常都是一些黑客行爲。這有什麼不同?
您是否使用Reflector查看過代碼? – 2010-08-05 09:41:32
不,我沒有任何特定的代碼來看待,因爲我將這個問題的基礎是我讀的東西 – DaveDev 2010-08-05 09:48:47
出於興趣,你在哪裏讀過它?我知道這是我已經指出的幾次,但我沒有看到很多其他人提到它。 – 2010-08-05 09:49:36