-5

我有一个要求,我有一个类和一个函数

   public  class BaseClass
        {
            public virtual int MyMethod(int n)
            {
                Console.WriteLine("BaseClass=" + n + "+" + 2);
                return n + 2;
            }
        }

和一个派生类 b 我正在扩展基类函数

 public class A : BaseClass
        {
            public override int MyMethod(int n)
            {
                Console.WriteLine("Class A=" + n+"*"+2);
                return n*2;
            }
        }

在派生类中,当我调用函数 A.MyMethod() 时,应执行基函数,然后执行派生类函数。

static void Main(string[] args)
        {

            A classA = new A();
            A.MyMethod(1);

            Console.ReadKey();
        }

是否可以?

4

2 回答 2

0

你的意思是你想从派生构造函数调用基构造函数?是的,您可以使用 base() 构造来做到这一点。

public Derived(int sides)
    : base(sides)

当 Square() 实际上不是构造函数(它在你的问题中,没有返回类型或 void)而是一个方法时,你可以这样做:

public override returntype Foo(...)
{
    // your adaptation
    base.Foo(...)

基类中的方法必须是虚拟的才能工作。

于 2013-04-25T06:20:06.043 回答
0
class b: a
{   
    public new int Square(int n)
    {
      var baseResult = base.Square(n);
      var i = 0//extenting the code
      return i;
    }
}
于 2013-04-25T06:25:43.990 回答