ReSharper 2026.1 Help

C# のコンテキストアクション

ReSharper は、C# に対して以下のコンテキストアクションを提供します:

名前の指定

説明

XML ドキュメントに <exception> タグを追加する

<exception> タグを XML ドキュメントに追加します

XML ドキュメントに <inheritdoc/> タグを追加する

XML ドキュメントがベース候補から継承されるように <inheritdoc /> を追加します

別のアクセサーを追加する

イベントまたはプロパティに2つ目のアクセサを追加します

switch セクションステートメントにブロック波括弧を追加する

スイッチセクションのステートメントに波括弧を追加

波括弧の追加

ステートメントに波括弧を追加

分解パターンコンポーネント名を追加

ソースパターンディスパッチ型の命名に基づき、明示的な分解パターンのコンポーネント名を追加します

匿名プロパティの明示的な名前を追加する

匿名型のプロパティ宣言に明示的な名前指定を追加します

ローカル関数の前に明示的な「return」または「Continue」を追加します

実行可能コードとヘルパー関数を明確に分離するため、メンバーまたはサイクルの末尾のローカル関数の直前に明示的な制御フロージャンプを追加します

引数に名前を追加

選択した引数に名前を追加します

最後のパラメーターに「params」修飾子を追加します

最後のパラメーターに「params」修飾子を追加し、アドホックコレクションを渡すことでメソッド使用箇所を更新します

文字列フォーマットメソッド引数を追加する

書式文字列に新しい書式項目を追加し、対応する引数をフォーマットメソッドの呼び出しに追加します

詳細については、 文字列リテラルのコード分析とヘルパー を参照してください。

文字列補間引数を追加する

文字列補間式に新しい引数を追加します。 通常の文字列リテラルでも使用できます。

TestCase 属性を追加する

TestCase 属性を NUnit テストメソッドに追加します

タプルコンポーネント名を追加

ターゲットのタプル型の命名に基づき、明示的なタプルコンポーネント名を追加します

パターンの変数指定を追加

型テスト /null チェック / 関係パターンの変数指定を導入し、対応する 'switch' セクション内のキャストを置換する可能性があります

「#pragma」ディレクティブに警告説明コメントを追加します

ID によって警告を無効化または復元する『#pragma』ディレクティブに、警告説明付きコメントを追加します

生の文字列リテラル内の余分な引用符とドルを追加 / 削除する

生の文字列内の引用符またはドル記号の数を変更する

'switch' 条件コンポーネントを追加します

'switch' 式 / ステートメントコンポーネントを追加します

enum メンバーに 'EnumMemberAttribute' アノテーションを付ける

各列挙型メンバーに 'EnumMemberAttribute' を追加します

詳細については、 「コンテキストアクションを使用してアノテーション属性を追加する」を参照してください。

null 可能性属性を持つメンバーにアノテーションを付ける

型メンバーまたはパラメーターに null 許容性属性のアノテーションを追加します

詳細については、 「コンテキストアクションを使用してアノテーション属性を追加する」を参照してください。

'DataMemberAttribute' でメンバーにアノテーションを付ける

すべてのパブリックプロパティとフィールドに「DataMemberAttribute」を追加します

詳細については、 「コンテキストアクションを使用してアノテーション属性を追加する」を参照してください。

'OperationContractAttribute' でメソッドにアノテーションを付ける

公開されたすべてのメソッドに 'OperationContractAttribute' を追加します

詳細については、 「コンテキストアクションを使用してアノテーション属性を追加する」を参照してください。

アサートリファレンスが null ではありません

キャレット位置の変数に対して null 参照チェックを行なう assert ステートメントを追加します

Catch 宣言された例外タイプ

XML ドキュメントでスローされる例外タイプを宣言するメソッドの呼び出しの周囲に「try-catch」ブロックを生成する。

'set' と 'init' アクセサーを変更します

「set」アクセサーと「init」アクセサーの種類の変更

メンバーの可視性を変更する

アクセス修飾子キーワードで利用可能で、宣言のアクセス権を変更できます

現在のメンバーのシグネチャーを変更する

現在のメンバーのシグネチャーを変更します

「クラス」/「構造体」と「レコード」の間で型宣言の種類を変更します

型宣言の種類を 'class'/'struct' と 'record' の間で変更して場合によってはエラーを修正します

null または空の文字列のすべての文字列パラメーターを確認する

全ての文字列パラメーターに対して null または空文字列をチェックします

null または空白文字列のすべての文字列パラメーターをチェックする

全ての文字列パラメーターに対して null または空白文字列をチェックします

配列のインデックス値を確認する

配列のインデックス値をチェックします

コレクションのインデックス値を確認する

コレクションのインデックス値をチェックします

辞書のキー値を確認する

辞書のキー値をチェックする

すべてのパラメーターで null をチェックする

すべての関数パラメーターが null かどうかをチェックします

enum パラメーターが enum 型で定義されているかどうかを確認する

関数のパラメーターが列挙型で定義されているかどうかをチェックします

数値パラメーターが範囲外かどうかを確認する

指定された範囲の数値パラメーターをチェックします

パラメーターが空のコレクションであるかどうかを確認する

空のコレクションの関数パラメーターをチェックします

パラメーターが有効でないかどうかを確認する

関数パラメーターの有効性をチェックします

パラメーターが null かどうかを確認する

関数パラメーターの null をチェックします

参照が null でないかどうかを確認する

現在のステートメントを、キャレット位置の変数の null 参照チェックを行う 'if' ステートメント内に配置します

文字列パラメーターが null か空文字列かをチェックする

文字列パラメーターに対して null または空文字列をチェックします

文字列パラメーターが null か空白文字列かをチェックする

文字列パラメーターに対して null または空白文字列をチェックします

変数が null かどうかをチェックする

変数の null をチェックします

Span<T> インデックス値を確認してください

Span <T> /ReadOnlySpan<T> タイプのインデックス値をチェックします

文字列のインデックス値をチェックする

文字列のインデックス値をチェックします

'StringBuilder' のインデックス値を確認する

'StringBuilder' のインデックス値をチェックします

リストのような言語構造の Chop フォーマット

リスト状言語構造にチョップフォーマットを適用し、各項目間に改行します

定数値の計算

現在の式の値を計算し、それを置き換えます (たとえば 1 + 1 が 2 に置き換えられました)

新しいファイルの null 許容コンテキストを構成する

新しいファイルに『#nullable enable』を挿入するかどうかを設定する。

ネストチェックアサーションパターンを設定する

null チェックパターン設定用の ReSharper オプションページを開きます

パラメーターの null チェックパターンを設定する

null チェックパターン設定用の ReSharper オプションページを開きます

可変 null チェックパターンを設定する

null チェックパターン設定用の ReSharper オプションページを開きます

拡張メンバーを統合する

互換性のある拡張機能のメンバーとブロックを選択したブロックにマージする。

'StringBuilder' で文字列を構築する

文字列リテラルを対応する『Append』呼び出し付きの『StringBuilder』作成に変換します

'?:' 条件式を 'if' ステートメントに変換する

'if' ステートメントに値が返されるか代入される条件式を変換します

'?:'条件式を'switch' 式に変換します

'switch' 式に値が返されるか代入される条件式を変換します

'==' 演算子を 'Equals()' 呼び出しに変換する

等値演算子 ('==') の使用を 'Equals' メソッドの呼び出しに変換します

'==' 演算子を 'object.ReferenceEquals()' 呼び出しに変換する

等値演算子('=='} の使用を 'object.ReferenceEquals' メソッド呼び出しへ変換します

匿名メソッドをラムダ式に変換する

匿名メソッド式をラムダ式に変換します

匿名型を名前付き型に変換する

匿名型を名前付き型に変換し、選択スコープ内の使用箇所を置き換えます

匿名型をタプルに変換する

匿名型をタプル式に変換し、該当メソッド内の使用箇所を置き換えます

配列の作成またはコレクションの初期化をコレクション式に変換する

配列作成またはコレクション初期化式を C# 12 コレクション式形式に変換する

デフォルトのボディを持つプロパティに自動プロパティを変換する

自動プロパティをデフォルトのボディを持つプロパティに変換します

詳細については、 自動プロパティを使用する を参照してください

テキストと文字列のエスケープシーケンスを変換する

テキストとさまざまな形式の文字列エスケープシーケンスを変換します

'catch(Exception)' 句を 'catch' に変換する

「catch (System.Exception)」句を 'catch' 形式に変換します

'catch' 句を 'catch(Exception)' に変換する

'catch' 句を「catch (System.Exception)」形式に変換します

コレクションの初期化子を 'Add' メソッド呼び出しに変換する

コレクションイニシャライザーを複数の「Add()」メソッド呼び出しに置き換えます

複合代入を通常の代入に変換する

複合代入を通常の代入に変換します

コンストラクターをファクトリメソッドに変換する

コンストラクターをファクトリメソッドに変換し、使用箇所をファクトリメソッド呼び出しに更新します

現在の拡張メソッドを通常の静的メソッド形式に変換する

'this' 修飾子を削除し、全メソッド使用箇所を更新することで、現在の拡張メソッドを通常の static メソッド形式へ変換します

現在のメソッドを拡張メソッド形式に変換する

'this' 修飾子を追加し、すべてのメソッドの使用箇所を更新することにより、現在のメソッドを拡張メソッド形式に変換します

'Equals' メソッド呼び出しを '==' 演算子の使用に変換します

インスタンスまたは static『Equals』メソッド呼び出しを、等値('==')や不等値('!=')演算子の使用に変換します

明示的な実装から明示的な実装への変換

インターフェースメソッドの明示的な実装を暗黙的な実装に変換します

式の本文メンバーを文の本文に変換する

式のようなメンバー宣言をステートメント本体形式に変換します

式 lambda を文 lambda に変換する

式のラムダ式をステートメント本体形式に変換します

式を「StringBuilder」に変換します

式を「StringBuilder」に変換します

式を「StringBuilder」呼び出しに変換する

「StringBuilder」内の式を対応する「StringBuilder」呼び出しに変換します

'ForEach' メソッド呼び出しを 'foreach' ステートメントに変換する

'xs.ForEach(x => ...)' を正規の 'foreach' ステートメントに変換します

foreach を for ループに変換する

索引によって要素への直接アクセスを可能にするコレクション上で実行される 'foreach' 文に作用します。 このような 'foreach' 文を 'for' 文に変換します。

'if' 文を '?:' 条件式に変換する

値を返すか、各ブランチ内で代入を実行する 'if' ステートメントで動作します。 ステートメントを条件式 ('x ? a : b') に変換します。

case if 節を切り替えるために 'if' 文を変換する

switch セクション冒頭の 'if' ステートメントに対応し、'if' 内容を持つガード部分と else ブランチを非ガード部分に分割します

'if' ステートメントを 'switch' 式に変換する

型チェックを実行したり、式の値と 1 つ以上の定数を比較する if 文に作用します。 'if' ステートメントを単一の 'switch' 式に変換します。

'if' 文を 'switch' 文に変換する

型チェックを実行したり、式の値と 1 つ以上の定数を比較する if 文に作用します。 'if' ステートメントを単一の 'switch' ステートメントに変換します。

暗黙的インターフェースから明示的インターフェースへの変換を変換する

インターフェースメンバーの暗黙的な実装を明示的な実装に変換します

整数リテラルをバイナリ形式に変換する

整数リテラルをバイナリ形式に変換します

整数リテラルを 16 進形式に変換します

整数リテラルを16進形式に変換します

整数リテラルを 10 進形式に変換する

整数リテラルを小数形式に変換します

リストパターンに変換

コレクション長チェックをリストパターンに変換します (たとえば 'x は { 長さ: 0 }' -> 'x は []' です)

無効な文字リテラルを文字列に変換する

無効な文字リテラルを文字列リテラルに変換します

イテレータをメソッドに変換する

List <T> の fill または配列の戻り値を使ってイテレータをメソッドまたはプロパティに変換します

ラムダ式を匿名メソッドに変換する

ラムダ式を匿名メソッド式に変換します

コードに LINQ を変換する

LINQ をコードに変換する

LINQ をメソッドチェーンに変換する

LINQ クエリを拡張メソッド呼び出しに変換します

メンバー値チェック式を再帰パターンに変換する

メンバーの読み取りアクセスを対応パターンによる定数値チェックに置き換えます

メソッドグループを匿名メソッドに変換する

メソッドグループを匿名メソッドに変換します

方法グループをラムダに変換する

メソッドグループをラムダ式に変換します

メソッドをプロパティに変換する

戻り値を持つパラメーターなしのメソッドをプロパティ宣言に変換します

'Microsoft.Extensions.Logging.ILogger' 拡張メソッド呼び出しを 'Microsoft.Extensions.Logging.LoggerMessageAttribute' -generated ログメソッド呼び出しに変換します

ロガー拡張メソッドの呼び出しをログメソッドに変換します

複数行の文字列を個別の 'AppendLine' 呼び出しに変換します

'StringBuilder' 内の複数行の文字列を個別の 'AppendLine' 呼び出しに変換します

not null チェックをオブジェクトパターンチェックに変換する

null 以外チェック式をパターンマッチングチェックに変換します

null 合体代入を if 文に変換

null 合体代入を if ステートメントに変換します

NULL 合体式を 'if' ステートメントに変換します

null 合体式を 'if' ステートメントに変換します

オブジェクト初期化子を代入文に変換する

オブジェクトイニシャライザーを複数の代入ステートメントに置き換えます

オブジェクト初期化子をコンストラクター呼び出しに変換します

オブジェクトイニシャライザーを、名前と型が一致するパラメーターを持つコンストラクター呼び出しに置き換えます

プロパティをメソッドに変換

プロパティをメソッド宣言に変換します

'ReferenceEquals' メソッド呼び出しを '==' 演算子の使用に変換する

静的 'ReferenceEquals' メソッドへの呼び出しを、等価 ('==') または不等価 ('!=') 演算子の使用に変換します

通常の文字列補間を生の文字列補間に変換する

通常の文字列補間を raw に変換します

通常の文字列リテラルを生の文字列リテラルに変換する

通常の逐語的な文字列リテラルを生の文字列に変換します

ステートメント本体メンバーを式本体に変換する

ステートメント本体のメンバー宣言を式のような形式に変換します

文 lambda を式 lambda に変換する

ステートメント本体のラムダ式を式のような形式に変換します

文字列比較を 'string.Equals' 呼び出しに変換する

文字列比較を「string.Equals」メソッド呼び出しに変換します

文字列の補間を文字列の連結に変換する

文字列補間式を対応する文字列の連結に変換します

文字列補間を 'string.Format' 呼び出しに変換する

文字列補間式を対応する「string.Format」メソッド呼び出しに変換します

文字列リテラルを文字列補間に変換する

通常の文字列または逐語的な文字列を、対応する種類の文字列補間式に変換します

'string.Format' を文字列補間に変換する

'string.Format' を文字列補間に変換します (それが引数の評価の順序を変更する可能性があるとしても)

'switch' 式を条件付きに変換しますか? : 式

'switch' 式を一連の条件付き(三項)?: 式に変換します

'switch' 式を 'if' ステートメントに変換します

'switch' 式を一つまたは複数のネストした 'if' ステートメントに変換し、それぞれ個別パターンをチェックします

'switch' 式を 'switch' ステートメントに変換します

'switch' 式を 'switch' ステートメントに変換します

'switch' ステートメントを 'if' ステートメントに変換します

'switch' ステートメントを一つまたは複数のネストした 'if' ステートメントに変換し、それぞれ個別パターンをチェックします

'switch' ステートメントを 'switch' 式に変換する

'switch' ステートメントを 'switch' 式に変換します

配列作成式に変換する

C# 12 コレクション式を配列作成式構文に置き換えます

クラシック拡張メソッドに変換する

C# 14 拡張ブロックの拡張メソッドを従来の拡張メソッドに変換します。拡張機能から拡張メソッドへの変換は行いません。

従来の拡張メソッドに変換する

C# 14 拡張ブロックの拡張メソッドを従来の拡張メソッドに変換します。拡張機能から拡張メソッドへの変換は行いません。

コレクション初期化子に変換する

C# 12 コレクション式をコレクションイニシャライザー構文に置き換えます

拡張ブロックに変換する

従来の拡張メソッドを C# 14 拡張ブロックに変換します。拡張機能から拡張メソッドへの変換は行いません。

「グローバル使用」に変換する

選択した 'using' ディレクティブをグローバルに変換し、別ファイルに移動します

ローカル関数に変換する

一部のメンバーで使用されているプライベートメソッド宣言をローカル関数に変換する

非グローバル 'using' に変換する

'using' ディレクティブを別ファイルから全プロジェクトファイルの必要箇所に移動します

通常の文字列補間に変換する

逐語的な文字列補間 $@".." を通常の $".." に変換します。

詳細については、 文字列リテラルのコード分析とヘルパー を参照してください。

通常の文字列リテラルに変換する

逐語的な文字列 @".." を通常の文字列 ".." に変換します。

詳細については、 文字列リテラルのコード分析とヘルパー を参照してください。

個別の「Append」呼び出しと「AppendLine」呼び出しに変換します

単一の「AppendLine」呼び出しを個別の「Append」と「AppendLine」呼び出しに変換します

トップレベルコードに変換する

「Program」クラスと「Main」メソッドを最上位コードに置き換えます

「try-finally」ステートメントに変換する

'using' ステートメントを 'try-finally' ステートメントに変換する

'using' 宣言に変換

'using' ステートメントを 'using' 宣言に置き換えます

'using' ステートメントに変換する

'using' 変数宣言を 'using' ステートメントに置き換えます

逐語的な文字列補間に変換する

通常の文字列補間 $".." をそのまま $@".." に変換します。

詳細については、 文字列リテラルのコード分析とヘルパー を参照してください。

逐語的な文字列リテラルに変換する

通常の文字列リテラル「..」を逐語的な文字列 @「..」に変換します。

詳細については、 文字列リテラルのコード分析とヘルパー を参照してください。

逐語的に生の文字列補間に変換する

逐語的な文字列補間を raw に変換します

逐語的に生の文字列リテラルに変換する

逐語的な文字列リテラルを生の文字列に変換します

'with' 式を一時変数のミューテーションに変換する

構造体またはレコードをローカル変数にコピーしてメンバーを変更し、'with' 式の代わりにこの変数を使用します

現在の型宣言をコピー

現在のメンバーのシグネチャーを変更します

ベースメンバーから XML ドキュメントをコピーする

XML ドキュメントを基本メンバー/型からオーバーライドするメンバー/型にコピーします

型宣言の別の部分を作成する

必要に応じてタイプを部分的としてマークし、新しいファイルに新しいパーツを作成します

'params' パラメーター引数からコレクション式を作成する

'params' パラメーター引数からコレクション式を作成します

派生型の作成

インターフェースを実装するか、クラスを継承するクラスを作成します

イベントの呼び出し側を作成する

イベント呼び出しメソッドを作成します

'params' パラメーター引数から明示的な配列作成を作成します

「params」パラメーター引数から明示的な配列作成を作成します

'params' パラメーター引数から明示的なコレクション作成を作成する

'params' パラメーター引数から明示的なコレクション作成を作成します

一次コンストラクターの明示的なコンストラクター宣言を作成します

レコードのプライマリコンストラクターの明示的なコンストラクター宣言を作成します

プライマリコンストラクターのパラメーターの明示的なフィールド宣言を作成する

プライマリコンストラクターのパラメーターの明示的なフィールド宣言を作成します

位置パラメーターの明示的なプロパティ宣言を作成します

レコードの位置パラメーターの明示的なプロパティ宣言を作成します

一致するチェック済み演算子を作成する

一致するチェック演算子を作成します

パラメーターなしでオーバーロードを作成する

パラメーターを指定せずにオーバーロードを作成します。 現在のメソッドを呼び出します。

式からのリターンを作成する

式文として使われる値で return ステートメントを生成します

単体テストの作成

ターゲットクラスのテストクラスを作成します

変数を分解する

変数を複数の位置コンポーネントに分解します

コメントの削除

選択したコメントを削除します

コメントの削除

コメントを削除する

暗黙的な使用を無効にする

「ImplicitUsings」プロジェクトプロパティを「無効化」に設定し、暗黙的 usings を全プロジェクトファイルにコピーします

「'do-while' ステートメントで中括弧を強制する」を有効にするインスペクション

キャレットが 'do'、'while' キーワード上にある場合、「'do-while' ステートメントで中括弧を強制する」インスペクションを有効化することを提案します

「'fixed' ステートメントで中括弧を強制する」を有効にするインスペクション

キャレットが 'fixed' キーワード上にある場合、「'fixed' ステートメントで中括弧を強制する」インスペクションを有効化することを提案します

「'fixed' ステートメントで中括弧を強制する」を有効にするインスペクション

キャレットが 'fixed' キーワード上にある場合、「'fixed' ステートメントで中括弧を強制する」インスペクションを有効化することを提案します

「'for' ステートメントで中括弧を強制する」を有効にするインスペクション

キャレットが 'for' キーワード上にある場合、「'for' ステートメントで中括弧を強制する」インスペクションを有効化することを提案します

「'foreach' ステートメントで中括弧を強制する」を有効にするインスペクション

キャレットが 'foreach' キーワード上にある場合、「'foreach' ステートメントで中括弧を強制する」インスペクションを有効化することを提案します

「'if' ステートメントで中括弧を強制する」を有効にするインスペクション

キャレットが 'if'、'else' キーワード上にある場合、「'if' ステートメントで中括弧を強制する」インスペクションを有効化することを提案します

「'lock' ステートメントで中括弧を強制する」を有効にするインスペクション

キャレットが 'lock' キーワード上にある場合、「'lock' ステートメントで中括弧を強制する」インスペクションを有効化することを提案します

「'using' ステートメントで中括弧を強制する」を有効にするインスペクション

キャレットが 'using' キーワード上にある場合、「'using' ステートメントで中括弧を強制する」インスペクションを有効化することを提案します

「'while' ステートメントで中括弧を強制する」を有効にするインスペクション

キャレットが 'while' キーワード上にある場合、「'while' ステートメントで中括弧を強制する」インスペクションを有効化することを提案します

現在のソリューションで「Null 許容警告を '!' で抑制する」クイックフィックスを有効にする

キャレットが '!' トークンにある場合に現在のソリューションで "null 許容警告を '!' で抑止" クイックフィックスを有効にするよう提案します

「null 許容型の警告が抑制されることで根本的な問題が隠れる可能性があります」インスペクションを有効化

キャレットが '!' 演算子にある場合に 'null 許容に関する警告を抑止すると根本的な問題が潜在化する可能性があります' インスペクションを有効にするよう提案します。

暗黙的な使用を有効にする

「ImplicitUsings」プロジェクトプロパティを「有効化」に設定し、プロジェクトファイルから冗長な using を削除します

「ローカル関数を静的にできる」インスペクションを有効にする

キャレットがローカル関数の 'static' キーワード上にある場合、「ローカル関数を static にできる」インスペクションを有効化することを提案します

「構造体メンバーを読み取り専用にできる」を有効にするインスペクション

キャレットが「readonly」キーワード上にある場合、「構造体メンバーを readonly にできる」インスペクションを有効化することを提案します。

「行末の不要な空白」インスペクションを有効にする

キャレットが行末の空白上にある場合、「行末の不要な空白」インスペクションを有効化することを提案します。

「インデントに集計文字の使用を禁止する」インスペクションを有効にする

キャレットがタブ文字を含む空白上にある場合、「インデントにタブ文字を使用することは禁止されている」インスペクションを有効化することを提案します。

遅延フィールドをカプセル化する

既存のフィールドがない場合は、遅延フィールドをプロパティにカプセル化します

式の評価

単純式を評価し、評価値で置き換えます

匿名メソッド式をローカル関数に抽出する

匿名メソッド式を包含スコープのローカル関数に抽出します

名前付きメソッドに匿名メソッド式を抽出する

匿名メソッド式を包含型のプライベートメソッドに抽出します

ラムダ式をローカル関数に抽出する

ラムダ式を包含スコープ内のローカル関数に抽出します

ラムダ式を名前付きメソッドに抽出する

ラムダ式を包含型のプライベートメソッドに抽出します

ローカル関数を通常のメソッドに抽出する

ローカル関数を包含型の通常のメソッドに抽出し、必要に応じてクロージャを解除します

選択したコードからメソッドを抽出する

選択した式またはステートメントから新しいメソッド、プロパティ、ローカル関数を作成し、選択を関数呼び出しに置き換えます

塗りつぶしオブジェクト初期化子

オブジェクトイニシャライザーでフィールドとプロパティを初期化します

null 許容の警告抑制を見つける

選択したスコープ内のすべての null 許容警告抑制式を検索します

無効なエスケープシーケンスを修正

すべての文字をエスケープすることにより、文字列内の無効なエスケープシーケンスを修正します

無効な通常の文字列を修正する

文字列を逐語的にすることで、文字列内の無効な文字を修正します

正規表現を修正する

正規表現の無効な文字を修正

詳細については、 文字列リテラルのコード分析とヘルパー を参照してください。

文字列補間における三項演算子の修正

三項式を丸括弧で囲み、補間文字列が偽ブランチを書式指定子として解釈しないようにします

呼び出し式を反転します

'left.Equals(right)' から 'right.Equals(left)' のように現在の呼び出し式を入れ替えます

演算子引数を反転する

'null == list' から 'list == null' のように選択した演算子の左と右のオペランドを入れ替えます

リレーショナル式を反転する

'list.Count > 1' から '1 < list.Count' のように現在の関係式を入れ替えます

型、静的メンバー、または名前空間への参照を完全修飾する

型、静的メンバー、または名前空間への参照の完全修飾を挿入します

enum フラグをチェックする拡張メソッドを生成する

列挙型値に指定されたフラグが含まれているかどうかを確認する拡張メソッドを生成する

型パターンを生成する

型パターンを生成する

抽象メンバーの実装

インターフェースメンバーまたは抽象メンバーで動作します。 このメンバーを実装する必要があるクラスを検索し、いずれかのメンバーに実装することを許可します。

カスタムイベントアクセサーを実装する

イベントの「追加」および「削除」メソッドのカスタム実装用のプレースホルダーを追加します

'INotifyPropertyChanged' パターンを実装する

文字列リテラルパラメーターで「PropertyChanged」イベントを呼び出すメソッドを作成します

詳細については、 「コンテキストアクションを使用してアノテーション属性を追加する」を参照してください。

静的ディレクティブを使用して静的メンバーをインポートする

C# 6.0 で 'static' ディレクティブを使用してファイルの型の静的メンバーをインポートします

メンバーアクセスをオブジェクトパターンに含める

「is」/「switch」演算子のソース式中のメンバーアクセスを対応するパターンに置き換えます

コンストラクターパラメーターから自動プロパティを初期化する

オプションで、コンストラクターパラメーターから自動プロパティを作成および初期化します

コンストラクターパラメーターからフィールドを初期化する

オプションで、コンストラクターパラメーターからフィールドを作成および初期化します

コンストラクターパラメーターからメンバーを初期化する

オプションでコンストラクターを作成し、コンストラクターのパラメーターからメンバーを初期化します

コンストラクターパラメーターから非プライベートフィールドを初期化します

コンストラクターパラメーターから非プライベートフィールドを初期化します

インラインコントロール転送ステートメント

'return' や 'continue' などのコントロール転送ステートメントを上記のステートメントにインライン化します

インラインアウト変数宣言

ローカル変数宣言を宣言式として置き換えます

インライン文字列補間引数

文字列リテラルまたはネストされた文字列補間を、それを含む補間文字列にインライン化します

インライン一時変数

同じ値を指す異なる名前を減らすため、他の変数/パラメーターの値で初期化されたインラインのテンポラリ変数にまとめます

エイリアスを使用したインライン化

'using' エイリアスを使用箇所にインライン化します

変数を条件式にインライン化する

変数を条件式にインライン化し、パターンマッチングを行います

匿名メソッドシグネチャーを挿入する

匿名メソッドのパラメーターなし宣言に適切なシグネチャーを追加します

整数リテラルに桁区切りを挿入する

整数リテラルの一般的な箇所に桁区切り記号を配置します:10進リテラルでは千の位ごと、16進リテラルでは16ビットワードごと、バイナリリテラルではバイトごとに区切ります

実数リテラルに桁区切りを挿入する

float/double/decimal 型の実数リテラルで千の位ごとに桁区切り記号を配置します

ジェネリクスメソッド呼び出し型引数を挿入する

メソッドグループ式からジェネリクスメソッド呼び出し / デリゲート作成の推論された型引数を挿入します。 キャレットがメソッド名の最後にある場合に使用できます。

ラムダ式パラメーターの署名を挿入する

暗黙的に型指定されたラムダパラメーターの明示的な型指定を追加します

ラムダ式の戻り値の型指定を挿入

ラムダ式の明示的な戻り値の型指定を追加

デフォルトリテラルの後に型指定を挿入する

デフォルトのリテラルをデフォルトの式に変換します

選択した式のパラメーターを導入する

選択した式の新しいパラメーターを作成します

型エイリアスの導入

選択したタイプに 'using' エイリアスを導入します

選択した式の変数を導入する

選択した式の新しい変数を作成します

反転 '?:' 演算子条件

条件を反転し、'?:' 条件式のブランチを入れ替えます

'if' ステートメントを逆転

'if' ステートメントのガード条件を反転し、それに応じてブランチのコードを入れ替えます

拡張メソッドを通常の静的メソッドとして呼び出す

呼び出し構文を拡張メソッドから static メソッド呼び出し形式に変更します

'foreach を待つ ' を介して繰り返す

式を反復する「await foreach」ステートメントを生成する

'foreach' 経由で繰り返し

式を反復する 'foreach' ステートメントを生成する

'foreach' 経由で繰り返し (ライブテンプレートに基づく)

式を反復する 'foreach' ステートメントを生成する

属性を単一のセクションに結合する

属性を単一のセクションに再配置する

ローカル変数宣言と代入を結合する

イニシャライザーなしで宣言された変数への代入に作用します。 宣言を現在のポイントに移動し、割り当てにマージします。

代入で null チェックに参加する

'if' ステートメントを '??' 演算子と 'throw' 式を使用するコードに置換します

結合文字列リテラル

2 つの文字列リテラルを 1 つに連結します

ローカル関数クロージャをパラメーターに持ち上げます

含まれているメソッドのローカル変数に対するローカル関数クロージャをローカル関数のパラメーターに変換します

メソッドを部分的にする

private void メソッドを部分メソッド定義に変換します

文字列補間として文字列リテラルをマークする

内容を変更せずに、通常の文字列または逐語的な文字列に「$」を追加します

ファイル名と型名を一致させる

現在のファイルを、そこで宣言されている唯一のトップレベル型の名前に一致するようにリネームします

展開された宣言をマージする

展開された宣言を単一の変数宣言にマージします

ネストした 'if' ステートメントをマージ

ネストされた 'if' ステートメント 2 つを、元の条件の結合をチェックする単一の 'if' ステートメントにマージします

部分的なメンバー宣言をマージする

部分メンバーのすべての宣言を単一の宣言にマージします

部分型宣言をマージする

partial 型の全宣言を単一の宣言にマージします

順次検査を null 伝播式にマージする

条件付きアクセス式('?.' 演算子)を使い、連続した null/型チェックをマージします

順次 null/ パターンチェックを単一のパターンチェックにマージします

シーケンシャル null/ パターンチェックを単一の再帰 / 論理パターンチェックにマージします

#nullableenable に移行します

[NotNull]/[CanBeNull] 属性をコンパイラーの #nullable コンテキストと型アノテーションに移行

ローカル関数を包含スコープの末尾に移動します

実行可能コードをヘルパー関数の宣言から明確に分離するために、ローカル関数を包含スコープの最後に移動します。 可能な場合は、「return」または「Continue」などの明示的な制御フロー移動で区切ります。

アノテーションを部分宣言の別の部分に移動する

アノテーションを部分宣言の別の部分に移動します。 アノテーションが生成されたコード内に存在する場合は、代わりにコピーされます。

コンストラクター内の代入を初期化子に移動する

コンストラクターからフィールド/イベント/プロパティイニシャライザーに割り当てを移動します

宣言を別の型部分に移動する

選択した宣言範囲または単一の宣言(宣言名を選択しない場合)を partial 型の他の型部に移動します

初期化をコンストラクターに移動する

フィールド/イベント/プロパティイニシャライザーをコンストラクター(複数可)に移動します

ローカル変数、定数、関数宣言を外側のスコープに移動する

ローカル変数 (初期化あり)、ローカル定数、ローカル関数宣言を外部スコープに移動します

名前を一致させるためにタイプを別のファイルに移動する

現在の型を別のファイルに移動して、そのファイル名が型の名前と一致するようにします

論理式を否定する

論理式を否定します

仮想メンバーを上書きする

仮想メンバーで動作します。 このメンバーをオーバーライドできるクラスを検索し、それらの 1 つまたはすべてでオーバーライドできるようにします。

パス文字列補間式

フォーマットメソッドの呼び出しを文字列補間式の受け渡しに置き換えます。 一部のフォーマットメソッド (ロギングフレームワークなど) は、文字列補間式が常に評価される一方で、引数のフォーマットを常に実行するとは限らないため、注意して使用してください。

'string.Format' メソッドの呼び出しを渡す

format メソッドの呼び出しを、'string.Format' メソッドの呼び出し結果を渡すことで置き換えます。 'string.Format' は常に文字列を生成しますが、一部のフォーマットメソッド (ロギングフレームワークなど) は常に引数のフォーマットを実行するとは限らないため、注意して使用してください。

変数を 'using' 内に入れる

'System.IDisposable'、'System.IAsyncDisposable'、または使い捨てパターンを実装する型の変数宣言を 'using' ステートメントに変換します。 これは、使い捨てオブジェクトの有効期間を強制する場合に役立ちます。

static using ディレクティブを使用してインポートされた静的メンバーを修飾します

C# 6.0 を使用してスコープにインポートされた静的メンバー用の型修飾を 'static' ディレクティブを使用して挿入します

#region、#endregion ディレクティブを削除

#region と対応する #endregion ディレクティブのペアを削除します

詳細については、 #region ブロックを追加および削除する を参照してください。

引数名の除去

選択した引数から名前を削除します

波括弧の除去

コード内の 1 つ以上のステートメントの周囲にある不要な波括弧を削除します

分解パターンのコンポーネント名を削除

ソースパターンディスパッチ型の命名に基づき、明示的な分解パターンのコンポーネント名を削除します

数値リテラルから桁区切り記号を削除する

整数または実数リテラルから桁区切り記号を削除します

最後のパラメーターから 'params' 修飾子を削除します

最後のパラメーターから 'params' 修飾子を削除し、メソッドの使用を更新します

余分な括弧を削除する

冗長な場合は丸括弧を削除します

冗長なプリプロセッサー括弧を削除する

冗長な場合はプリプロセッサー式内の丸括弧を削除する。

文字列フォーマットメソッドの引数を削除する

フォーマット文字列項目と対応するフォーマットメソッド引数をフォーマットメソッドの呼び出しから削除します

詳細については、 文字列リテラルのコード分析とヘルパー を参照してください。

'switch' 条件コンポーネントを削除します

'switch' 式 / ステートメントコンポーネントを削除します

タプルコンポーネント名を削除

タプル式で明示的になっているタプルコンポーネント名を削除します

'.IfNotNull(x => x.Smth)' のような呼び出しを '?.' 式に置換

.IfNotNull(x => x.Smth) のような拡張メソッドの使用を、条件付きアクセス式('?.' 演算子)で置き換えます

「?:」を null 伝播式で置き換える

条件式('?:' 演算子)を null 合体(?? 演算子)または条件付きアクセス式(?。 演算子)

配列初期化子を式で置き換える

配列イニシャライザーを配列作成式に置き換えます

自動実装されたプロパティアクセサーを明示的に実装されたアクセサーに置き換える

本体のない自動実装されたアクセサーを明示的に実装されたアクセサーに置き換えます

自動プロパティをプロパティおよびバッキングフィールドに置き換える

自動プロパティをバッキングフィールドを使用するプロパティに置き換えます

自動プロパティをプロパティと「フィールド」キーワードに置き換えます

自動プロパティを匿名フィールドを使用するプロパティに置き換えます

呼び出しチェーンを別の呼び出しに置き換える

呼び出しチェーンをメソッドごとに個別の呼び出しに分割し、必要に応じて変数を導入します

キャスト式を安全な 'as' キャストに置き換える

正規キャスト式を安全なキャスト 'as' 式に置き換えます

条件付きアクセス式を無条件アクセスで置き換えます

条件付きアクセス式('?' 演算子)を通常の無条件アクセスに置き換えます

明示的な型指定を 'var' に置き換える

変数の型が変更される場合でも、型を「var」に置き換えることができます

「field」キーワードを明示的なフィールド宣言に置き換えます

プロパティ宣言の「field」キーワードを明示的なフィールド宣言に置き換えます

'if' 文を null 伝播で置き換える

'if' ステートメントを条件付きアクセス式に置き換えます (null-propagation)

論理式を等式で置き換える

等式で論理式を反転

メンバーアクセスを条件付きアクセス式で置き換える

メンバーアクセス/呼び出しまたはインデクサーアクセスを条件付きアクセス式('?.' 演算子)に置き換えます

null 伝播式を '?:' 条件演算子で置き換えます

null 合体('??' 演算子)または条件付きアクセス式('?.' 演算子)を条件式('?:' 演算子)に置き換えます

null 伝播式を 'if' ステートメントに置き換える

C# 6.0 条件付きアクセス式を 'if' ステートメントに置き換えます

自動プロパティを使用してバッキングフィールドにプロパティを置き換える

バッキングフィールドを使用するプロパティを自動プロパティに置き換えます

詳細については、 自動プロパティを使用する を参照してください

安全性を「キャスト式」として通常のキャストに置き換える

安全な 'as' キャスト式を通常のキャスト式に置き換えます

個別の宣言宣言を単一の宣言に置き換える

別々の分解宣言を単一の宣言に置き換えます

'var' を明示的な型宣言で置き換える

「var」を明示的な型宣言に置き換えます

アクセス式に置き換える

単純な再帰パターンを通常または条件付きのプロパティアクセス式に置き換える

逆代入文

代入ステートメントのソースと宛先部分を逆にします

ループの 'for' ループステートメント

'for' ループステートメントの繰り返しの順序を逆にします

ループの 'for' ループステートメント

'for' ループステートメントの繰り返しの順序を逆にします

プロジェクトの「ConfigureAwait」分析モードを設定します

プロジェクトの 'ConfigureAwait' 分析モードを設定します

プロジェクトの言語レベルを設定する

プロジェクトの言語レベルを設定します

'using' ディレクティブを並べ替える

ファイル内の 'using' ディレクティブを構文スタイル設定に従って並べ替えます

明示的に配列型を指定する

配列作成式に明示的な型指定を追加

作成したタイプを指定します

作成した型を明示的に指定

enum メンバー値を指定する

全ての列挙型メンバーに明示的な値指定を追加します

'および' パターンを複数の 'is' 式またはガード式に分割する

論理「and」パターンを一連の「is」式またはガード式に分割します

属性を別々のセクションに分割する

属性を別のセクションに再配置する

呼び出しチェーンを 2 つの部分に分割する

キャレット位置のメソッドを開始点として呼び出しチェーンを 2 つの部分に分割し、必要に応じて変数を導入します

宣言リストを分割する

複数の変数を宣言する変数宣言文に作用します。 そのようなステートメントは、それぞれが単一の変数を宣言する複数のステートメントに分割されます。

ガード句を ' で分割 | | ガード句を含む 2 つのケースラベルへの ' 条件

ガード句が 2 つのより単純な条件の論理和('||')である switchcase ラベルで機能します。 switch case のラベルを 2 つの別々のラベルに変換します。

'if' を '&&' で分割する - 条件を入れ子にした 'if' 文に分割する

'if' ステートメントの条件が2つのより単純な条件の論理積('&&')である場合に処理します 'if' ステートメントをネストされた 'if' ステートメント 2 つに変換します。

'if' と ' | | ' - 2 つの if 文への条件

条件が '||' の 2 つのより単純な条件の論理和( '||' )である 'if' ステートメントで動作します。 'if' ステートメントを本体が等しい 'if' ステートメント 2 つに変換します。

ネストされたパターンに分割

ネストされたプロパティで一致する個別の再帰パターンを作成します

リストパターンを複数の連続したチェックに分割する

リストパターンのサブパターンを '&&' 演算子で結合されたチェックに抽出します

分割ローカル変数の宣言と初期化

変数のイニシャライザー式を別の代入ステートメントに移動します

分割ローカル変数の宣言と初期化

変数宣言を外部スコープに移動します

null 伝播式を順次チェックに分割する

条件付きアクセス式 ('?.' 演算子) を連続した null/ 型チェックに分割します

'または' パターンを複数の 'is' 式または 'switch' ケースに分割する

論理「or」パターンを一連の「is」式または複数の 'switch' ケースに分割します

再帰パターンをいくつかの連続したチェックに分割します

再帰パターンのサブパターンを '&&' 演算子で結合されたチェックに抽出します

ブール値の 'return' ステートメントを 'if' ステートメントに分割

値がブール型の「return」ステートメントで機能します。 'return' ステートメントを 2 つの 'return' ステートメントを持つ 'if' ステートメントに変換し、'true' と 'false' の値を返します。

'&&' をつけて 'return' を分割する - 'if' と 'return' をガードするための条件

'return' ステートメントの値が2つのより単純な条件の論理積('&&')である場合に処理します 'return' ステートメントをガードする 'if' ステートメントと 'return' に変換します。

文字列リテラルの分割

文字列リテラルを2つのリテラルに分割します

タプルの割り当てを個別の割り当てステートメントに分割する

タプルの割り当てまたは宣言を含むステートメントを個別のステートメントに分割します

分割された値は ' | | 'if' と 'return' ステートメントへの条件

値が '||' の 2 つのより単純な条件の論理和( '||' )である 'return' ステートメントで動作します。 'return' ステートメントを 'if' と 'return' ステートメントに変換します

「var」パターンを別の変数宣言に分割する

「var」パターンを別のステートメントの変数宣言に分割します

'string.Format' コールでのサラウンド文字列リテラル

文字列リテラルを「string.Format()」メソッド呼び出しで囲みます

"" で囲む

選択テキストの文字列リテラルを作成します

抽象 / 仮想 / 非抽象 / 非仮想メンバー

型メンバーを抽象、仮想、非抽象、非仮想にします

ブロックスコープの名前空間へ

ファイルスコープの名前空間をブロックスコープの名前空間に変換します

明示的な「Program」クラス

トップレベルのコードを明示的な「Program」クラスと「Main」メソッドに置き換えます

ファイルスコープの名前空間へ

ブロック本体を持つ名前空間をファイルスコープの名前空間に変換します

LINQ to JSON へ

JSON 文字列を JSON.NET オブジェクトに変換します

LINQ to XML へ

XML 文字列を「LINQ to XML」オブジェクトに変換します

名前付きプロパティパターン

位置分解パターン句を、対応するメンバーの命名付きプロパティパターンに置き換えます

プリコンパイルされた 'Regex' オブジェクト

正規表現型のフィールドとプリコンパイル済みオブジェクトを導入します

詳細については、 正規表現の支援 を参照してください。

INotifyPropertyChanged 変更通知でプロパティ

auto-property を setter 内で 'INotifyPropertyChanged' の変更通知呼び出し付きのプロパティに変換します

詳細については、 inotifypropertychanged のサポート を参照してください。

変換パラメーター

パラメーターと戻り値を変換します

変換パラメーター

パラメーターと戻り値を変換します

コメント解除

コードブロックからコメントを削除します

詳細については、 コードのコメントまたはコメント解除 を参照してください。

使用 ""

'string.Empty' の代わりに "" リテラルを使用する。

'as' を使用して null をチェックする

'if (a is B) { }' を 'var b = a as B; if (b != null) { }' に変換して使用箇所を更新します

'ConfigureAwait(false)' 呼び出しを使用します

「await」コンテキストのタスクのような式に「ConfigureAwait(false)」呼び出しを追加します

明示的破棄宣言を使用する

'var' を破棄宣言に追加し、「_」という名前の他要素との衝突を防ぎます

明示的または暗黙的なタプルコンポーネント名を使用する

明示的タプルコンポーネント名と暗黙的タプルコンポーネント名を切り替えます。 タプルコンポーネントリファレンスで利用できます。

フォーマット文字列を使用する

いくつかの文字列と他のオブジェクトの連結を「String.Format」メソッドの使用に変換します

詳細については、 文字列リテラルのコード分析とヘルパー を参照してください。

暗黙の破棄宣言を使用する

破棄宣言から冗長な 'var' キーワードを削除します

「MinBy」または「MaxBy」を使用する

「First」または「Last」をオーダーして取得する代わりに、「MinBy」または「MaxBy」を使用します

'nameof' 式を使用してエンティティの名前をキャプチャーします

文字列リテラルにハードコードする代わりに、'nameof' 式でエンティティ名を取得します

割り当て /.Add() メソッド呼び出しの代わりにオブジェクト / コレクション初期化子を使用する

一連の割り当てや「Add()」呼び出しをオブジェクトまたはコレクションのイニシャライザー式に置き換えます

詳細については、 コードインスペクション:可能であればオブジェクトまたはコレクションイニシャライザーを使用する。 を参照してください。

位置分解パターンを使用する

再帰パターンのプロパティパターンメンバーを、位置分解パターンに置き換えます

分解宣言 / パターンで別々の宣言を使用する

単一宣言を分解内の別々の変数宣言に置き換えます

スタックに割り当てられた変数に Span <T> を使用する

スタックに割り当てられた変数に Span<T> を使用します

文字列補間を使用する

いくつかの文字列とその他のオブジェクトの連結を、文字列補間の使用に変換します

'string.Empty' を使用する

"" リテラルの代わりに 'string.Empty' を使用する。

'System.Environment.NewLine' 値を使用する

"\n"、"\r"、または "\r\n" リテラルの代わりに 'System.Environment.NewLine' を使用します

ターゲットタイプの新しいを使用する

明示的な型指定を削除して 'new' 式を単純化します

型エイリアスを使用する

可能な場合は、選択した型エイリアスを使用します

複数の変数を持つ宣言を分解するには、「var (...)」構文を使用します

'var (...)' 構文を使って明示的な型を持つ複数変数宣言をまとめ、すべて暗黙的に型指定されたものにします

ドキュメントを書く

宣言のための XML ドキュメントを書く

2026 年 6 月 12 日