子类是否可以覆盖基类的属性?

sco*_*ott 5 c# asp.net-mvc

例如在asp mvc中,

public class BaseModel
{
    [DisplayName("Such a pretty name")]
    public virtual String TheName {get;set;}
}

public class SubModel : BaseModel
{
    [DisplayName("An even prettier name!")]
    public override string TheName {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

有了上面的内容,是否有可能获得使用 SubModel 的视图来利用其显示名称属性而不是基本模型的属性?

当我将子模型传递给视图时,标签不使用任何一个 displayname 属性,只使用属性名称。

小智 1

看一下 AttributeUsage。IT 应该允许您限制基类中属性的范围。

[AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = false)]
public class BaseClass
Run Code Online (Sandbox Code Playgroud)