有以下课程:
public class A
{
[Required]
public string property { get; set; }
}
它被其他类使用,如:
public class B
{
public A prop { get; set; }
public A prop2 { get; set; }
}
在我的方案中,B.prop.property
应该是必需的B.prop2.property
不应该是[Required]
。
有没有办法覆盖prop2.property
属性不是必需的?它还应该影响数据库中记录的记录吗?
如果不是最推荐的处理此类问题的做法是什么?
答案 0 :(得分:1)
没有。没有办法实现你所说的。你可以通过继承来做到这一点。例如:
public class C : A
{
public new string property { get; set; }
}
然后:
public class B
{
public A prop { get; set; }
public C prop2 { get; set; }
}
换句话说,该属性必须字面上是不需要该属性的类型。你不能随心所欲地禁用类实例上的属性。