子类如何使用和子类同名的基类方法?
如:using System;
namespace mytest
{
    public class myObject
    {
         public void showok()
         {
              Response.Write("Hi,OK!");
          }
     }
    
    public calss myChild:myObject
    {
        public void showok()
       {
           Response.Write("Hello,OK!");
        }
        public void showObject()
        {
            //此外要调用myObject的showok(),应该如何实现??
         }
    }
}

解决方案 »

  1.   

    base.showok()
     base 关键字可以用来访问当前对象的基类对象,进而调用基类对象的成员
      

  2.   

    首先说一下,楼上的这些根本编译不通过,基类和子类的参数是不能相同的,除非基类成员用了virtual而子内用override重写,这样用base有效,但是楼主的基类根本没有virtual关键字,所以,用new只需要将子类的public void showok()改成public new void showok()
    就可以了。
      

  3.   

    只需要将子类的public void showok()改成public new void showok()
    就可以了。先去试试再说,省略new只会有一个警告。
      

  4.   

    谢谢以上的TX,那如果是继承了三层呢?最下面的子类该如何使用与子类同名的基类方法?如果是override了,那么就没有办法调用了。如果不是override,则可以把自己(this)强制类型转换成最顶层的基类来调用。((GrandParent) this).Method这是C#语法的缺陷......
      

  5.   

    就是this和base呀,搂主可好好看一下面向对象的内容嘛