setterのすべてのプロパティに対してPropertyChanged(System.ComponentModel)を呼び出さずにプロパティの値の変更を見る可能性がありますか?プロパティの設定値を確認する
私はTimerで自分のプロパティを見てみましたが、パフォーマンスには不必要な悪影響があり、遅すぎます(実行ごとに15ms)。
setterのすべてのプロパティに対してPropertyChanged(System.ComponentModel)を呼び出さずにプロパティの値の変更を見る可能性がありますか?プロパティの設定値を確認する
私はTimerで自分のプロパティを見てみましたが、パフォーマンスには不必要な悪影響があり、遅すぎます(実行ごとに15ms)。
コメントに基づいて、自動的にINotifyPropertyChanged
をクラスに追加します。これは、いくつかの方法で実現できます。ここで
がリストの一部です: Roslyn、Fody、Castle、PostSharp、Spring.Netなど
いずれかを選択するには、あなたの要件を定義する必要があります。 動的プロキシ\ AOPが必要な場合、またはIL製織で行う場合、またはVS内でコードを修正して追加する場合。
Roslynはうまく聞こえます。これは、VSがすでに実装しているためです。 AFAIKは他のすべての第三者図書館ですよね?次に、それがRoslynでどのように実現できるかを理解する次のステップになります... – c0d3b34n
短答:いいえ。 – Jamiec
[Fody.PropertyChanged](https://github.com/Fody/PropertyChanged)のようないくつかのIL製織を使用して、プロパティ変更の実装を自動的に作成することができます。 –
なぜこれが必要ですか?通常、プロパティにはgetterとsetterがあります。したがって、値が変更されるタイミングを正確に知ることができます。誰も価値を変えない限り、それは変わらないはずです。それ以外の場合は、PropertyChangedというイベントを使用します。 – HimBromBeere