看板 C_Sharp 關於我們 聯絡資訊
學習C#時 目前觀念上是 class內function宣告和實作 要在一起寫... 不過我在ValueType 這 class的檔案中發現 public abstract class ValueType { protected ValueType(); public override bool Equals(object obj); public override int GetHashCode(); public override string ToString(); } 都沒有去定義 三個問題想請問 1.這個ValueType似乎是最上層的class 給別人繼承的 為啥他的function都要灌上override而不是virtual 我自己照他這樣寫他都會跟我講沒有定義 而不會過 2.第二個問題就是既然他這樣寫 也看不出來他繼承了誰 為什麼可以override? 且為啥可以不用寫定義 ...... 3.我以為ValueType是給所有value type繼承的 但是我寫int a; 跳進去int的class 發現是Int32, 他後面繼承了一堆interface卻沒有既 成ValueType 這是為什麼呢? 目前書上也沒有特別對這些解釋 自己trace發現的問題 請教一下各位 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.87.64.222
james732:你看到的該不會是[來自中繼資料]的檔案吧? 02/04 20:05
QQ29:From metadata@@ 是你說的中繼資料嗎? 那是甚麼意思... 02/04 20:13
james732:其實我也不太熟 可以看看上面維基的介紹 02/04 21:11
andymai:如果還是搞不懂~可以把build完的dll拿來用~追一下就知道了 02/04 23:20
andymai:自己寫的dll~應該自己看得出差別吧... 02/04 23:20
QQ29:我還沒學這麼深入@@其實只是最近有必要接觸 02/05 00:30
QQ29:我都拿C++的角度去看 但常常都會覺得很奇怪 無法接受... 02/05 00:30
remmurds:搞不懂有什麼好無法接受的 02/05 12:32
andymai:無法接受只是因為成見太深了吧?就像信佛教和信基督的一樣 02/05 22:17