2 つのプロパティを持つオブジェクトがあります。
public class Request
{
public int TypeId { get; set; }
public bool isApproved { get; set; }
}
私がしたいのは、TypeId
equalsの場合はequalにし1
たい、そうでない場合は、新しいオブジェクトを作成するときにそれを等しくしたいということです。次のことを試しましたが、コンストラクターでルールを実行する両方のオブジェクトに対して設定されました。isApproved
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