重写派生类中的默认值 (c#)
如果我在基类中有一个访问器和默认属性,如下所示:
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;
}
If i have an accessor and default property in a base class as follows:
class base{
protected int _foo = 5;
public int foo {get{return _foo;}set{_foo = value;}}
}
Then I derive this class, is it possible to override the default value of _foo?
class derived:base{
// foo still returns 5?
protected new int _foo = 10;
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
_foo = 5
语句在基类的构造函数中有效执行。您可以向派生类构造函数添加代码,以便随后立即更改 foo 的值:The
_foo = 5
statement effectively executes in the base class's constructor. You can add code to the derived class constructor that changesfoo
's value immediately afterwards:您可以使用构造函数来初始化派生类并设置基类型 _foo 属性:
You could use a construtor to initialise the derived class and set the base types _foo property:
您可以创建一个属性:
和
You can create a property:
and