プロパティの古い値と新しい値をデータベースに記録できるように、プロパティが変更されたときに通知を受け取りたいです。
そこで、プロパティセッターのアプローチを採用し、すべてのプロパティを処理するジェネリックメソッドを使用することにしました。
私は以下のクラスを作成しました:
public class PropertyChangedExtendedEventArgs<T> : PropertyChangedEventArgs
{
public virtual T OldValue { get; private set; }
public virtual T NewValue { get; private set; }
public PropertyChangedExtendedEventArgs(string propertyName,
T oldValue, T newValue)
: base(propertyName)
{
OldValue = oldValue;
NewValue = newValue;
//write to database the values!!!
}
}
そして私の財産では、私はそれをそのように呼んでいます:
private string _surname;
public string Surname
{
get { return _surname; }
set
{
string temp = Surname;
_surname = value;
Helper.PropertyChangedExtendedEventArgs("Surname", temp, value);
}
}
しかし、ジェネリックを扱うのは初めてなので、懸念はほとんどありません:
- 私の財産でこれをどのように呼ぶのですか?
- これは良いアプローチですか?
- パブリックで関数を呼び出し
PropertyChangedExtendedEventArgs(string propertyName, T oldValue, T newValue)
てデータベースに保存することはできますか?