フィールドのインライン化リファクタリング
このリファクタリングは、フィールドを値で置き換え、宣言を削除できます。 明らかな理由から、リファクタリングは、書き込みの使用が 1 つしかないフィールドに適用できます。 これは、定数または読み取り専用フィールド、または初期化されて同じ関数で使用されるフィールドです。
ターゲットフィールドに条件付きまたは複雑な割り当てがあり、単一の関数内で使用されている場合、ReSharper はフィールドの値を処理するローカル変数を作成します。
以下の例では、このリファクタリングを使用して、1 回の使用箇所を持つ定数をインライン展開します。
class Shape
{
private const string ErrorMessage = "Something has failed";
public void Draw(string s)
{
try { /*draw*/ }
catch (Exception e)
{
Console.WriteLine("{0} : {1}", ErrorMessage, e);
}
}
}
class Shape
{
public void Draw(string s)
{
try { /*draw*/ }
catch (Exception e)
{
Console.WriteLine("{0} : {1}", "Something has failed", e);
}
}
}
フィールドをインライン化する
キャレットを宣言に置くか、1 回の書き込みしか持たないフィールドを使用します。
次のいずれかを実行します。
Control+Alt+N を押し、次に フィールドのインライン化 を選択します。
Control+Shift+R を押し、を フィールドのインライン化 を選択します。
右クリックして、コンテキストメニューから リファクタリング | フィールドのインライン化 を選択します。
メインメニューから を選択します。
競合するものが見つからない場合、ReSharper はすぐにリファクタリングを実行します。 それ以外の場合は、 競合を解決するように求められます。
この機能は、次の言語とテクノロジーで サポートされています。
ここで説明する手順と例では、C# の機能の使用について説明します。 他の言語の詳細については、 言語およびフレームワーク セクションの対応するトピックを参照してください。
2026 年 6 月 12 日