如果我在基类中有一个访问器和默认属性,如下所示:
class base{
protected int _foo = 5;
public int foo {get{return _foo;}set{_foo = value;}}
}
那我派生这个类,是否可以覆盖_foo的默认值?
class derived:base{
// foo still returns 5?
protected new int _foo = 10;
}
最佳答案
_foo = 5
语句有效地在基类的构造函数中执行。您可以将代码添加到派生类构造函数中,该构造函数随后立即更改 foo
的值:
class derived:base{
public derived()
{
foo = 10;
}
}
关于c# - 覆盖派生类中的默认值 (c#),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3510783/