6. 繼承問題的一些易混淆的地方
請留意下列程式碼:
interface IC1 { }
interface IC2 : IC1 { }
class A1 : IC1 { }
class A2 : IC1, IC2 { }
class B1 : A1 { }
class B2 : A1, IC1 { }
A1 和 A2 沒有實質區別,詳見《介面繼承的宣告問題》;但 B1 和 B2 在某些場合表現不同行為,為何會有差異,相信現在的您應該了解了!
7. IL 呢?[Updated]
噢,對了,Ninputer 的問題還有「編譯器在 IL 層級用什麼手段實現這功能?」!若看完本文仍嫌不夠,想更深入了解 IL 層面 CLR 如何實現介面重新映射原理,推薦閱讀《介面映射的實現及原理》。