Why am I getting this compilation error in my abst

2019-01-20 10:30发布

I'm trying to extend this plugin for my own use...

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

But when I copy the code over to Visual Studio, I'm am getting some error.

enter image description here

Do I need to import some special framework in order to use the '=>' operator and 'Invoke' Method? This is an abstract base class. I am using VS2013

3条回答
姐就是有狂的资本
2楼-- · 2019-01-20 10:59

?. is a feature from C# 6, and as well as the => operator (when used for expression-bodied members), is available in Visual Studio 2015 only.

Read about them here null-conditional operators and here => operator

C# < 6 syntax:

protected virtual void OnConnectivityChanged(ConnectivityChangedEventArgs e)
{
    if (ConnectivityChanged != null)
        ConnectivityChanged.Invoke(this, e);
}
查看更多
仙女界的扛把子
3楼-- · 2019-01-20 11:00

?. is Null-conditional operators in C#6. You is using C#6? C#6 featured

Replace this code to

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

This is equivalent to the our code ConnectivityChanged?.Invoke(this, e);

查看更多
霸刀☆藐视天下
4楼-- · 2019-01-20 11:00

This should do it.

protected virtual void OnConnectivityChanged(ConnectivityChangedEventArg e)
{
   if(ConnectivityChanged != null)
   {
       ConnectivityChanged.Invoke(this,e);
   }
}
查看更多
登录 后发表回答