我有一个具有 2 个属性的对象:
public class Request
{
public int TypeId { get; set; }
public bool isApproved { get; set; }
}
我希望发生的是,如果TypeId
equals 1
,我想isApproved
equal false
,否则我希望它true
在创建新对象时相等。我尝试了以下方法,但它被设置true
为我的两个对象,我在构造函数中执行规则:
public Request() {
if(this.TypeId == 1) {
this.isApproved = false;
}
this.isApproved = true;
}
var request = new Request() {
TypeId = 1
}
var request2 = new Request() {
TypeId = 2
}
我知道为什么会发生这种情况,因为TypeId
调用构造函数时没有设置,所以默认为true
. 无论如何,一旦TypeId
在新创建的对象上设置了它,我可以自动设置它吗?
编辑
我还希望可以选择isApproved
在以后手动更改,因此如果将其设置为,false
我可以将其更改为true
不影响我设置的自动规则