我有一个这样的对象:
(我也有私有字段,但删除它们以简化示例)
public MyObject
{
public int prop1 {get(); set()}
public string prop2 {get(); set()}
public bool prop3 {get(); set()}
public bool enabled {get(); private set();}
public void enable()
{
this.enabled = true;
}
public void disable()
{
this.enabled = false;
}
}
我的对象是审计分析的结果,当它发送到客户端时不能再编辑,所以我想防止在“启用”属性为 false 时更改 prop1-2-3,所以我添加了这个方法:
private T setProperty<T>(T value)
{
if (this.enabled == true)
{
return value:
}
else
{
throw new Exception();
}
}
并以这种方式编辑属性:
public int prop1
{
get{};
set
{
// see how we can call a method below? or any code for that matter..
prop1 = setProperty<int>(value);
}
}
是一个好的解决方案还是有更好的方法?我可以在“设置”方法中返回什么类型的异常?