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

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

```cpp
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 будет подобный вариант:

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