访问基类通过c#中驱动的B类对象的函数

前端之家收集整理的这篇文章主要介绍了访问基类通过c#中驱动的B类对象的函数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
访问基类A函数由c#中的派生类B对象实现
有没有办法可以访问A类By B类对象的函数(Sum)并得到输出10?
Class A
{
    public int Sum(int i)
    {
        return i+3;
    }
}

Class B:A
{
     public int Sum(int i)
     {
          return i+4;
     }
}

B objectB=new B();

int result=objectB.Sum(7);

output:11

解决方法

声明一个A变量而不是B,同时仍然使用B的构造函数.
A objectB = new B();
int result=objectB.Sum(7);

这将使用A的方法.这是唯一的,因为该方法是阴影的,不会被覆盖.

您还将获得B中方法Sum的编译器警告,并且您可能希望将其定义为public new int Sum(int i)以表示隐藏是预期的.

猜你在找的C#相关文章