有点愚蠢的问题,但我想知道将数据从返回到重写的基本方法的可接受方式是在c#中.
我想我能做到:
class A
{
int x;
public virtual void DoStuff() {
Console.WriteLine(x);
}
}
class B : A
{
public override void DoStuff() {
x = 1;
base.DoStuff();
}
}
Run Code Online (Sandbox Code Playgroud)
但是有没有更好的方法,例如不需要使用成员变量?
一种解决方案可能涉及使用受保护的方法,该方法具有重用来自基类的代码的参数.
class A
{
public virtual void DoStuff() {
DoStuffInternal(0);
}
protected void DoStuffInternal(int x) {
Console.WriteLine(x);
}
}
class B : A
{
public override void DoStuff() {
DoStuffInternal(1);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1518 次 |
| 最近记录: |