# V3044. WPF: writing and reading are performed on a different Dependency Properties.

Анализатор обнаружил потенциальную ошибку в программе, связанную с регистрацией свойств зависимостей [Dependency Properties]. При регистрации свойств зависимостей было ошибочно задано свойство, через которое происходит запись/чтение свойств.

    class A : DependencyObject
    {
    public static readonly DependencyProperty CurrentTimeProperty =
    DependencyProperty.Register("CurrentTime", ....);
    public static readonly DependencyProperty OtherProperty =
    DependencyProperty.Register("Other", ....);

    public DateTime CurrentTime {
      get { return (DateTime)GetValue(CurrentTimeProperty); }
      set { SetValue(OtherProperty, value); } }
    }
    ....

Из-за копирования возникла следующая ситуация. В определении методов доступа get и set, свойства CurrentTime, используются соответственно методы GetValue и SetValue с различные DependencyProperty. Таким образом при чтении свойства CurrentTime значение будет получено из свойства зависимости CurrentTimeProperty, а при записи в свойство CurrentTime, значение будет записано в 'OtherProperty'.

Корректным обращением к DependencyProperty будет подобный вариант:

    public DateTime CurrentTime {
      get { return (DateTime)GetValue(CurrentTimeProperty); }
      set { SetValue(CurrentTimeProperty, value); } }
    }