2016-10-27 15 views
1

私は、Visual Studio 2013を使用している私はgithubのプロジェクトを見つけ、そのプロジェクトは、Visual Studio 2015を使用している私はそれをコンパイルしようとしているが、私はvs2013C#6.0 =>演算子

を使用してエラーが出ます

無効なトークン ';'ここでは、クラス、構造体、またはインターフェイスメンバー宣言

のコードの:

private readonly Log _log; 
public Log Log => _log; // What => Operator is doing ? Pointer ? 

はい、どのような新しいC# [6.0]=>オペレータの機能? vs2013でC#6.0を使用する方法はありますか?

+0

http://stackoverflow.com/questions/27093908/how-to-enable-c-sharp-6-0-feature-in-visual-studio-2013 – matcheek

+4

いいえ、 VSバージョンをアップグレードしてください。 –

+0

C#6.0はVS 2015で導入されました.VS 2013で使用する方法はありません。https://github.com/dotnet/roslyn/wiki/New-Language-Features-in-C%23-6#expression- body-on-property-like-function-members – c0d3b34n

答えて

1

前に、この式ボディの財産であるように、古い方法で、あなたはあなたと同じように計算されたプロパティを作成することができますC#6で導入された計算されたプロパティの新しい構文を、それを変換しますラムダ式が作成されます。だから、:

public int TwoTimes(int number) 
{ 
    return 2*number; 
} 

public int TwoTimes(int number) => 2 * number; 

と同等です:C#6.0は、VS 2015で導入されたあなたは、以前のバージョンでそれを使用することはできません。

参考What does "=>" operator mean in a property in C#?

6

readonlyプロパティを書き込むための短いバージョンです。

public Log Log => _log; 

public Log Log { get { return _log; } } 

に等しい。しかし、私は、古いバージョンではこの機能を使用する方法を筆者は知りません。

0

問題はVisual Studio 2013 does not support C#6.0です。 答えに

private readonly Log _log; 
public Log Log 
{ 
    get { return _log; } 
}