感谢您的关注和时间.
我想在物业的解决方案中实施验证.这是一个需要您的专家帮助的问题.
我知道在设置值之前我将如何进行验证.但如果传递的值不正确则无法做什么.只是不设置不是一个可接受的解决方案,因为我想向用户返回一个适当的消息(在Web表单的标签中).我的示例代码是:
private int id;
public int Id
{
get
{ return id; }
set
{
bool result = IsNumber(value);
if (result==false)
{
// What to do if passed data is not valid ? how to give a appropriate message to user that what is wrong ?
}
id = value;
}
}
一个想法是使用返回但不允许.
投掷错误看起来不太好,因为我们通常会避免自定义错误.
请指导和帮助我.
感谢期待
haansi
最佳答案 您可以考虑从属性设置器中抛出适当的异常.这样,主叫方会明白出了什么问题,特别是假设您有关于设置属性的业务规则.当然你确实希望调用者进行验证,如果仍有问题,那么抛出异常似乎并不那么糟糕.
“从属性设置器中抛出异常是有效和可接受的.”
Property design guidelines