繁体   English   中英

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

[英]Calling base class functions in 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()(两个类中的函数名称均相同)

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

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

var myc1 = new c1();

((c2)myc1).Print();

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

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功能下运行。 但是要覆盖该功能,您必须将其声明为抽象或虚拟。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM