在C#.net中调用基类函数

时间:2011-09-10 08:38:05

标签: c# .net

public class c2
    {
        public void Print()
        {
            MessageBox.Show("C2");
        }//print
    }//c2

    public class c1 : c2
    {
        public void Print()
        {
            MessageBox.Show("C1");
        }//print
    }//c1

如何使用派生类Object调用基类(c2)的Print()(函数名在两个类中都相同)

3 个答案:

答案 0 :(得分:5)

您可以使用base.Print()调用它。

答案 1 :(得分:0)

如果您有c1的实例,则可以将其强制转换为c2以便能够调用该方法。例如:

var myc1 = new c1();

((c2)myc1).Print();

注意:此解决方案适用于此示例,因为c1.Print()仅隐藏 c2.Print()而不是覆盖它。

答案 2 :(得分:0)

public class c2 
{ 
    virtual public void Print() 
    { 
        MessageBox.Show("C2"); 
    }//print 
}//c2 

public class c1 : c2 
{ 
    override public void Print() 
    { 
        MessageBox.Show("C1"); 
        base.Print();
    }//print 
}//c1 

如果你想在C1的Print C2'S功能上运行。但要覆盖打印功能的功能 你应该宣布它是抽象的或虚拟的。