日期:2014-05-20  浏览次数:20783 次

继承的问题
类关系如下



现在通过反射创建一个继承类

基类 class = Activator.CreateInstance(t) as 基类;

class.GetOutput() 的时候 执行的是是基类的GetCarInfoValue 还是 继承类 override后 的GetCarInfoValue

------解决方案--------------------
探讨
类关系如下



现在通过反射创建一个继承类

基类 class = Activator.CreateInstance(t) as 基类;

class.GetOutput() 的时候 执行的是是基类的GetCarInfoValue 还是 继承类 override后 的GetCarInfoValue

------解决方案--------------------
既然GetOutput没有被重写过,在调用GetOutput的时候的自然是基类的
这时候跟子类重写过的GetCarInfoValue没有关系

如果调用GetCarInfoValue,则会调用子类的,因为被它覆盖了
------解决方案--------------------
你不能实践一下么?
------解决方案--------------------
这跟反不反射没关系,从你的实例的子类开始,调用方法的顺序是从 子 => 父
有重写调用重写的,没重写往父级调用