リファクタリングのメインセット
このセクションでは、C# でサポートされているリファクタリングについて学習できます。これらのリファクタリングのほとんどは、Visual Basic やその他の言語でもサポートされています。
- シグネチャーの変更
- 抽象クラスをインターフェースに変換
- 匿名から名前付き型に変換
- 拡張メソッドをプレーンスタティックに変換
- インデクサーをメソッドに変換
- インターフェースを抽象クラスに変換
- メソッドをインデクサーに変換
- メソッドをプロパティに変換する
- プロパティを自動プロパティに変換
- プロパティをメソッドに変換
- 静的メソッドから拡張メソッドへの変換
- を使用してグローバルに変換する
- 非グローバルに変換する方法
- 型のコピー
- フィールドのカプセル化
- クラスの抽出
- インターフェースの抽出
- メソッドの抽出
- スーパークラスの抽出
- インライン化リファクタリング
- フィールドの導入
- パラメーターの導入
- 変数の導入
- 部分文字列に変数を導入する
- ブール値の反転
- メソッドを非静的にする
- メソッド / プロパティを静的にする
- メンバーを部分的に抽出する
- 移動リファクタリング
- メンバーのプルアップ
- メンバーのプッシュダウン
- 名前変更
- コンストラクターをファクトリメソッドで置換
- 安全な削除
- 変換パラメーター
- 可能な限り基本型を使用する
関連ページ:
コンテキストアクション
コンテキストアクションは、エディターで直接利用できるコード変換ヘルパーです。クイックフィックスとは対照的に、コンテキストアクションは問題の解決やコードの改善を目的としているためはなく、アクセス修飾子の変更、null をチェックするコードの生成、'foreach' の 'for' への変換などの小さな変更を素早く導入できます。JetBrains Rider は、サポートされているすべての言語で数百のコンテキストアクションを提供します。完全なリストは、JetBrains Rider 設定のページお...
シグネチャーの変更リファクタリング
このリファクタリングは、メソッド、コンストラクター、プロパティ、インデクサーのシグネチャーに加えることができるいくつかの変更を組み合わせたものです。JetBrains Rider は、宣言内のシグネチャーを変更するとともに、現在のソリューションで変更されたシンボルのすべての使用箇所、ベースシンボル、実装、オーバーライドを検出して更新します。適用される変更:このリファクタリングを使用すると、次の変更を行うことができます。名前の変更戻り値の型を変更するパラメーターの名前と型を変更する
抽象クラスをインターフェースに変換リファクタリング
このリファクタリングにより、抽象クラスをインターフェースに変換することができます。これは、あるクラスに複数の抽象クラスを継承させたい場合に便利です。そうすれば、そのうちの 1 つを簡単にインターフェースに変換できます。以下の例を考えてみましょう。リファクタリングを適用した後、クラスはインターフェースに変換されます。public abstract class CachedItem { public abstract int Id { get; set; } public abstract void...
匿名から名前付き型に変換リファクタリング
匿名型は、クエリの結果をローカルで処理する必要がある場合に非常に便利です。ただし、プログラムに結果を渡す必要がある場合、同様の名前 / 値部分を返すクエリがいくつかある場合は、名前付き型が必要になる可能性があります。そのような場合、JetBrains Rider は、匿名型の既存の使用箇所を名前付きの型に変換し、使用箇所を更新できます。必要に応じて、JetBrains Rider はソリューション全体で同様の匿名型を見つけて変換します。このリファクタリングが提供するダイアログで、作成された型をカ...
インデクサーをメソッドに変換リファクタリング
このリファクタリングは、インデクサの一方または両方のアクセサーをメソッドに変換し、それに応じて現在のソリューションのインデクサの使用状況を更新できます。以下の例では、JetBrains Rider はインデクサの getter と setter のアクセサーを変換し、使用状況を更新します。class BookLibrary { private Book[] books = new Book[1000]; public Book this[int index] { get => books[...
プロパティを自動プロパティに変換リファクタリング
このリファクタリングは、プライベートバッキングフィールドを持つプロパティを自動実装されたプロパティ(自動プロパティとも呼ばれます)に変換できます。リファクタリングはバッキングフィールドを削除し、そのすべての用途を新しく作成された自動プロパティで置き換えます。デフォルトでは、JetBrains Rider は自動プロパティに変換される可能性があるほとんどのプロパティをハイライトし、対応するクイックフィックスまたはスコープ内の修正を提案します。JetBrains Rider にこれを提案させたくない...