繁体   English   中英

覆盖继承属性默认值的正确方法是什么?

[英]What is the correct way to override a inherited property's default value?

我有两个类,一个继承自另一个,我想覆盖子类中父类的默认值。

这是正确的做法吗?

public class Foo 
{
    public virtual string FooValue { get; set; } = "foo default value";
}

public class Bar : Foo 
{
    private string _fooValue = "bar default value";
    public override string FooValue 
    {
        get => _fooValue;
        set => _fooValue = value;
    }
}

我看到有人使用DefaultValue属性,但不确定正确的方法是什么。

在Bar的构造函数中设置,不需要virtual:

public class Bar : Foo 
{
    public Bar() {
        FooValue = "bar default value";
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM