如何禁用已在模型属性上设置的[Required]
属性。
我使用new
关键字尝试使用以下代码,但无效。
我也尝试了override
关键字,但没有效果。
ChildModel
使用BaseModel
的大部分属性,而不是创建新的模型文件,并编写许多类似的属性,我想这样做。
public class BaseModel
{
[Required]
public string Address{ get; set; }
}
public class ChildModel : BaseModel
{
public new string Address{ get; set; }
}
任何简单的解决方案?
答案 0 :(得分:1)
简单地覆盖或重新声明使用属性上的new
关键字并删除该属性不起作用。我一直这样做的方式如下。:
public abstract class BaseModel
{
public abstract string Address { get; set; }
}
public class ChildModel : BaseModel
{
[Required]
public override string Address { get; set; }
}
public class AnotherChildModel : BaseModel
{
//Not[Required]
public override string Address { get; set; }
}
如果想要了解有关在继承期间如何处理基类属性的更多信息,可以阅读this线程。