読者です 読者をやめる 読者になる 読者になる

プログラミングでアイデアを具現化したい

あらゆるものを具現化するためにプログラミングを始めました。主にC#

VisualStudioのメソッド抽出機能

C#

便利なのかどうか使った事のない機能なのでまだ判断できませんが
VisualStusioの機能でメソッドの抽出機能があることを知りました。
記録用に記事にしておきます。

以下は半径rから円の面積areaを求めるプログラム

using System;
namespace ConsoleApplication1 {
    class Program {
        static void Main(string[] args) {
            //半径rから円の面積を求めるプログラム
            double r = double.Parse(Console.ReadLine());
            double area = r * r * 3.14;
            Console.WriteLine("半径r:{0}、面積area:{1}", r, area);
        }
    }
}

出力結果
f:id:tos5511:20160116040017j:plain

double area = r * r * 3.14;

ここに対して右クリックでクイックアクションを選択し
f:id:tos5511:20160116040503j:plain
メソッドの抽出を実行する
f:id:tos5511:20160116040513j:plain

double area = r * r * 3.14;

このコードが以下のようなメソッドに自動的に書き換えられる。

private static double NewMethod(double r) {
  return r * r * 3.14;
}

using System;
namespace ConsoleApplication1 {
    class Program {
        static void Main(string[] args) {
            //半径rから円の面積を求めるプログラム
            double r = double.Parse(Console.ReadLine());
            double area = NewMethod(r);
            Console.WriteLine("半径r:{0}、面積area:{1}", r, area);
        }
    //自動生成されたメソッド
        private static double NewMethod(double r) {
            return r * r * 3.14;
        }
    }
}

出力結果
f:id:tos5511:20160116040017j:plain
もちろん出力結果は変わらない。