2015-12-08 7 views
5

私は私自身の使用のために、このプラグインを拡張しようとしている...抽象基本クラスでこのコンパイルエラーが発生するのはなぜですか?

https://github.com/jamesmontemagno/Xamarin.Plugins/blob/master/Connectivity/Connectivity/Connectivity.Plugin.Abstractions/BaseConnectivity.cs

をしかし、私は、Visual Studioに上のコードをコピーしたときに、私はいくつかのエラーを取得していますよ。

enter image description here

私は「=>」演算子と「起動」メソッドを使用するために、いくつかの特別なフレームワークをインポートする必要がありますか?これは抽象基本クラスです。私はVS2013を使用しています

+1

VS2015を使用していますか? –

+0

これはVS2013です。それは問題なのでしょうか? – stepheaw

+1

問題はVS2013でC#6の構文を使用しようとしていることです。 – Jonesopolis

答えて

14

? C#6の機能であり、=>演算子(式本体のメンバーに使用されている場合)はVisual Studio 2015でのみ使用できます。

読むそれらについてここnull-conditional operators、ここ=> operator

C#< 6構文:

protected virtual void OnConnectivityChanged(ConnectivityChangedEventArgs e) 
{ 
    if (ConnectivityChanged != null) 
     ConnectivityChanged.Invoke(this, e); 
} 
+0

メソッドボディについては '=>'と言います。 – DrewJordan

+2

また、ジョーンズポリスのコメント –

+0

ありがとうございます。 VS2013でこれをどのように修正できますか? – stepheaw

4

?.は、C#6でNull-conditional operatorsです。あなたはC#6を使用していますか? C#6 featured

if(ConnectivityChanged != null) 
{ 
    ConnectivityChanged.Invoke(this, e); 
} 

にこのコードを置き換えこれは、これはそれを行う必要がありますConnectivityChanged?.Invoke(this, e);

+0

ありがとうございます。 VS2013でこれをどのように修正できますか? – stepheaw

2

我々のコードと同等です。

protected virtual void OnConnectivityChanged(ConnectivityChangedEventArg e) 
{ 
    if(ConnectivityChanged != null) 
    { 
     ConnectivityChanged.Invoke(this,e); 
    } 
} 
関連する問題