ReSharper 2026.1 Help

プロパティを自動プロパティに変換リファクタリング

このリファクタリングは、プライベートバッキングフィールドを持つプロパティを 自動実装されたプロパティ (自動プロパティとも呼ばれます)に変換できます。 リファクタリングはバッキングフィールドを削除し、そのすべての用途を新しく作成された自動プロパティで置き換えます。

デフォルトでは、ReSharper は自動プロパティに変換できるほとんどのプロパティを ハイライトし、対応する クイックフィックスまたは スコープ内の修正を提案します:

自動プロパティのクイックフィックスを使用する

ReSharper にこの提案をさせたくない場合は、 それを検出するコードインスペクションプロパティを自動プロパティに変換 )を無効化できます。 この場合、バッキングフィールドを持つプロパティはハイライトされず、クイックフィックスも提案されませんが、 コンテキストアクション対応するリファクタリングで変換を適用できます:

コンテキストアクションの自動プロパティ設定

既存の自動プロパティをバッキングフィールドのあるプロパティに変換する逆の機能は、対応するコンテキストアクションでも使用できます。 計算されたプロパティへ コンテキストアクションを使用して、プロパティアクセサーの デフォルトの本体を生成することもできます。

バッキングフィールドコンテキストアクションを持つプロパティ

以下の例では、リファクタリングによってバッキングフィールドを持つプロパティが自動プロパティに変換されます。

class Shape { private Color bgColor; public Color BackgroundColor { get { return bgColor; } set { bgColor = value; } } public Shape(Color background) { bgColor = background; } }
class Shape { public Color BackgroundColor { get; set; } public Shape(Color background) { BackgroundColor = background; } }

リファクタリングコマンドを使用して、プロパティを自動プロパティに変換することもできます。 これを行うには、エディターでプロパティの宣言または使用箇所にキャレットを置くか、 ファイル構造ウィンドウウィンドウで選択して、次のいずれかを実行します:

  • Control+Shift+R を押し、次に プロパティを自動プロパティに変換する を選択します。

  • 右クリックし、コンテキストメニューで リファクタリング | プロパティを自動プロパティに変換する を選択します。

  • メインメニューの ReSharper | リファクタリング | 変換 | 自動プロパティへのプロパティ ... を選択します。

この機能は、次の言語とテクノロジーで サポートされています。

言語: C#

言語: VB.NET

言語: C++

言語: ASP.NET

言語: Razor

言語: XAML

言語: Resx

言語: スクリプトの作成

言語: SQL

この機能は C# で利用可能です

この機能は Visual Basic で利用可能です

この機能は C++ では使用できません

この機能は ASP.NET では使用できません

この機能は Razor では使用できません

機能は XAML では使用できません

機能はリソースファイルでは使用できません

機能はビルドスクリプトファイルでは使用できません

機能は SQL/NoSQL ファイルおよびインジェクションでは利用できません

ここで説明する手順と例では、C# の機能の使用について説明します。 他の言語の詳細については、 言語およびフレームワーク セクションの対応するトピックを参照してください。

2026 年 6 月 12 日