Object o = "my string"; Console.WriteLine(o.GetType());
输出:
System.String
如果将函数调用分派到String类,但是由于GetType()不是虚拟的,所以这是有道理的.
请注意,此信息对于CLR来说是必需的,以便在哪里分派虚拟方法 – 所以如果您认为如果GetType是虚拟的,那么请问自己CLR会如何知道要调用哪个实现.