如果我有兩個班,A
和B
其中B從A派生:信息
class A {}
class B : A { }
我可以上溯造型相當愉快的B
一個實例A
。
B b = new B();
A a = b;
現在,我可以理解運行時可以如何確定所述底層類型是B,作爲ECMA-335(公共語言基礎結構(CLI)分區I至VI)的第132頁指出
對象的實例化類型應攜帶充足的信息,以便在運行時恢復其確切類型(包括它們的泛型參數的類型和數量) 。 [理由:這是需要正確 -實例測試,以及在反射實現鑄造和 能力
那麼,如何在運行時知道,雖然背後的類型是B
它實際上是存儲在一個A
。我知道一個事實,即我看不到B
上提供的方法,但如果底層類型爲B
,它如何存儲存儲位置類型A
?
這有道理嗎?
乾杯馬克,這是解釋它。 –