Допустим, у меня есть простой класс
public class Person
{
public string Name { get; set; }
private int _age;
public int Age
{
get { return _age; }
set
{
if(value < 0 || value > 150)
throw new ValidationException("Person age is incorrect");
_age = value;
}
}
}
Тогда я хочу установить привязку для этого класса:
txtAge.DataBindings.Add("Text", dataSource, "Name");
Теперь, если я введу неправильное значение возраста в текстовом поле (скажем, 200), исключение в установщике будет проглочено, и я не смогу ничего сделать, пока я не исправлю значение в текстовом поле. Я имею в виду, что текстовое поле не сможет потерять фокус. Все тихо - без ошибок - вы просто не можете ничего сделать (даже закрыть форму или все приложение), пока не исправите значение.
Кажется, это ошибка, но вопрос в том, что для решения этой проблемы?