私は WPF と MVVM を使用しているため、ビュー内のものにバインドされているビュー モデルに多くのプロパティがあります。これらのプロパティの大部分は次のようになります...
private DateTime _newRevisionDate = DateTime.Now;
public DateTime NewRevisionDate {
get {
return _newRevisionDate;
}
set {
if (_newRevisionDate != value) {
_newRevisionDate = value;
RaisePropertyChanged(ViewModelUtils.GetPropertyName(() => NewRevisionDate));
}
}
}
RaisePropertyChanged() メソッドの由来である MvvmLight を使用しており、ViewModelUtils.GetPropertyName() メソッドを使用してプロパティ名から文字列を作成し、マジック文字列の必要性を回避しています。
さて、問題は、ビュー モデルにそのようなプロパティをいくつか追加すると、ほとんど同じコードが大量に作成されることです。これには巧妙なリファクタリングが必要なので、1 行のコードを使用して各プロパティを定義するだけです。
しかし、私はまだこれを行う方法を見つけることができませんでした。標準の C# 自動プロパティのようなことができると便利です...
public DateTime NewRevisionDate { get; set; }
...しかし、プロパティが新しい値に設定されるたびに RaisePropertyChanged() を呼び出す必要があります。
誰でもアイデアはありますか?ありがとう