2014年6月3日にVisual Studio 14 CTPがリリースされました。次世代コンパイラサービスであるRoslyn、クラウド最適化や大幅なライブラリ統合が進んでいるASP.NET vNextが搭載されています。これらだけでも十分お腹いっぱいになりそうですが、我らがC#にも新しい言語機能が追加されており、その機能が搭載されています。セットアップのダウンロードは以下から行えます。
ただし、side-by-side (Visual Studio 2013などとの共存) にはいくつかの問題があってできないようなので、吹き飛ばしても構わない環境にインストールしましょう。Microsoft Azureをご利用できる方には仮想マシンイメージとしてVisual Studio 14 CTPがインストール済みのものが用意されているので、そちらを利用するとよいと思います。
C# vNextの機能を有効化する
Visaul Studio 14 CTPにはC# vNextの新機能が搭載されていますが、ただ単にインストールしても利用できません (= コンパイルエラーになります)。利用するためには.csprojに以下のタグを追加する必要があります。
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <PlatformTarget>AnyCPU</PlatformTarget> <DebugSymbols>true</DebugSymbols> <DebugType>full</DebugType> <Optimize>false</Optimize> <OutputPath>bin¥Debug¥</OutputPath> <DefineConstants>DEBUG;TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> <LangVersion>experimental</LangVersion> </PropertyGroup>
これで以下のようにC# vNextの新機能を楽しめると思います。Enjoy C# vNext!!
using System.Console; using System.Math; namespace CSharpVNext { class Circle(int radius) //--- Primary constructors { public int Radius{ get; } = radius; //--- Getter-only auto-properties / Auto-property initializers public double Area{ get{ return this.Radius * this.Radius * PI; } } //--- Using static members } class Program { static void Main() { WriteLine(new Circle(2).Area); //--- Using static members } } }