如果我有两个班,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
?
这有道理吗?
干杯马克,这是解释它。 –