【发布时间】:2013-04-18 22:20:47
【问题描述】:
我有一个要求,我有一个类和一个函数
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();
}
有可能吗?
【问题讨论】:
-
你需要更清楚你的要求。您的原始代码无法编译也无济于事。
-
请看更新后的代码。
-
那仍然无法编译 - 你想改为调用
classA.MyMethod。如果你想先调用基类方法,那么只需让A.MyMethod这样做——用base.MyMethod(n)开始实现。