При написании пользовательских свойств зависимостей в C # довольно распространенная оболочка выглядит примерно так:
public string Surname
{
get
{
return this.GetValue(SurnameProperty) as string;
}
set
{
this.SetValue(SurnameProperty, value);
}
}
Теперь, при использовании системы NotifyPropertyChanged, я обычно проверял, изменилось ли значение в блоке 'set', перед тем как фактически зафиксировать значение и вызвать OnPropertyChanged. Должен ли я сделать то же самое для свойств зависимости? i.e.:
set
{
if(this.GetValue(SurnameProperty) != value)
this.SetValue(SurnameProperty, value);
}
... или это что-то совершенно ненужное и уже решенное CLR? Все примеры на MSDN, которые я видел, не удосужились выполнить какую-либо проверку перед вызовом SetValue. Большое спасибо.