ReSharper 2020.1ヘルプ

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 support

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

ReSharper: INotifyPropertyChanged support

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

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

ReSharper: INotifyPropertyChanged support

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

ReSharper: INotifyPropertyChanged support

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

ReSharperは、.NET フレームワーク 4.5プロジェクトでINotifyPropertyChangedを実装するときに、発信者情報属性を利用します。また、冗長な引数を強調表示してクイックフィックスを提案することにより、CallerMemberNameベースの実装への移行を支援します。

ReSharper: INotifyPropertyChanged support
最終更新日: 2020年7月2日

関連ページ:

コード注釈属性

フレームワークは、以下で説明する多くの属性を提供します。これらの属性をコードで使用するには、ソースコードの注釈セクションの説明に従ってを参照する必要があります。注釈属性:CanBeNullAttributeマークされた要素の値がになることがあることを示します。そのため、使用前にのチェックが必要です。...

ソースコードの注釈

ReSharperのコード注釈の恩恵を受ける最も簡単な方法は、ソースコードのシンボルに注釈属性を追加し、ReSharperがソリューションをより正確かつ洞察力で分析できるようにすることです。デフォルトでは、すべての注釈属性クラスは属性でマークされているため、コンパイラはコード内の属性の使用を無視しま...

コンテキスト・アクション

コンテキストアクションのいくつかの例をReSharperWebサイトでチェックすることができます。コンテキストアクションは、エディターで直接利用できるコード変換ヘルパーです。クイックフィックスとは対照的に、コンテキストアクションは問題の解決やコードの改善を目的としているためはなく、アクセス修飾子の変...

コード・インスペクション

ReSharperはサポートされているすべての言語で2500以上のインスペクションを提供します。これらのインスペクションは、開いているすべてのファイルで設計時にコードの課題を検出して強調表示するため、および/または特定の範囲内ですべてのコードの課題を見つけるために使用されます。インスペクション Re...

コードの課題のクイックフィックス

ReSharperを使用すると、設計時に検出されたほとんどのコード課題を即座に修復できます。強調表示されたコードの課題で を押して、課題を解決したり最適以下のコードを改善したりするための適切な方法を選択するのと同じくらい簡単です。クイックフィックスを適用する:クイックフィックスは、強調表示されたコ...

キャメルハンプ

キャメルハンプは、各パートが大文字で始まるCamelCase、または複合名の一部がアンダースコアで区切られた複合名の一部を識別する機能です。これらの部分の最初の文字だけを入力することができ、ReSharperは自動的に名前が一致する項目を検索します。検索コマンドのキャメルハンプ:キャメルハンプは常に...