ReSharper 2026.1 Help

INotifyPropertyChanged のサポート

INotifyPropertyChanged インターフェースは、.NET アプリケーションで、プロパティの値が変更されたときに通知を送信するために広く使用されています。 ReSharper には、このインターフェースの実装を支援する機能が用意されています。

ReSharper は、以下のフレームワークのプロパティ変更通知の実装を支援します:

  • MVVM ライト (WPF、Silverlight、Windows Phone、ユニバーサルアプリ)

  • Caliburn.Micro (WPF、Silverlight、Windows Phone、ユニバーサルアプリ)

  • Prism (WPF; Silverlight、Windows フォン)

  • Catel (WPF、Silverlight、Windows Phone、WinRT、ASP.NET MVC)

  • MVVM ヘルパー (WPF 3 と 4、ラムダ式のみサポート)

  • アヴァロニア

まず、ReSharper は INotifyPropertyChanged インターフェースが使用されていることを検出し、必要な実装を追加するための特別なクイックフィックスを提供します。

ReSharper: INotifyPropertyChanged のサポート

クイックフィックスを適用すると、ReSharper はプロパティ変更通知用のメソッドを生成し、このメソッドの名前を入力するよう求めます。

ReSharper: INotifyPropertyChanged のサポート

上の図のとおり、生成されたメソッドには [NotifyPropertyChangedInvocator] 属性が付与され、 INotifyPropertyChanged インターフェースの完全なサポートが有効化されます。これには、プロパティへの変更通知の追加、文字列リテラル内でのプロパティ名の検証および補完、プロパティへのナビゲーション、リファクタリングやコード生成でのサポートが含まれます。 実装を生成する前に、プロジェクトに ReSharper アノテーション属性を追加することを推奨します。

クラス内に変更通知しないプロパティがある場合、対応する コンテキストアクションを利用して、簡単に変更通知付きプロパティへ変換できます(通知メソッドが [NotifyPropertyChangedInvocator] 属性で装飾されている場合のみ利用可能です):

ReSharper: INotifyPropertyChanged のサポート

既存のフィールドのプロパティを生成し、 [NotifyPropertyChangedInvocator] 属性で装飾されたメソッドがある場合、 生成する ダイアログの プロパティの変更について通知する チェックボックスを選択して、変更通知のあるプロパティを取得できます。

ReSharper: INotifyPropertyChanged のサポート

また、ReSharper は コードインスペクションコード補完を、 OnPropertyChanged メソッドに渡される引数に対して提供します。

ReSharper は、.NET Framework 4.5 プロジェクトで INotifyPropertyChanged を実装する際、Caller Info 属性を活用します。 また、冗長な引数をハイライトし、 クイックフィックスを提案することにより、CallerMemberName ベースの実装への移行にも役立ちます。

ReSharper: INotifyPropertyChanged のサポート
2026 年 6 月 12 日