C# 为什么在我的抽象基类中会出现这种编译错误?

C# 为什么在我的抽象基类中会出现这种编译错误?,c#,visual-studio,xamarin,abstract-class,C#,Visual Studio,Xamarin,Abstract Class,我正在尝试扩展这个插件供我自己使用 但是当我将代码复制到VisualStudio时,我得到了一些错误 我是否需要导入一些特殊的框架才能使用“=>”操作符和“Invoke”方法?这是一个抽象基类。我正在使用VS2013?。是C#6中的一项功能,以及=>运算符(用于表达式体成员时),仅在Visual Studio 2015中可用 在这里和这里阅读有关它们的文章 C#,我会向上投票。你还应该提到Jonesopolis的评论。另外,我不是指吹毛求疵,但不是=>操作符本身对C 6.0来说是新的,仅用于

我正在尝试扩展这个插件供我自己使用

但是当我将代码复制到VisualStudio时,我得到了一些错误

我是否需要导入一些特殊的框架才能使用“=>”操作符和“Invoke”方法?这是一个抽象基类。我正在使用VS2013?。是C#6中的一项功能,以及=>运算符(用于表达式体成员时),仅在Visual Studio 2015中可用

在这里和这里阅读有关它们的文章

C#<6语法:

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

?。
是C#6中的
空条件运算符。你用的是C#6?

将此代码替换为

if(ConnectivityChanged != null) 
{ 
    ConnectivityChanged.Invoke(this, e); 
} 
这相当于我们的代码
ConnectivityChanged?.Invoke(This,e)

这样就可以了

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

你在使用VS2015吗?不,这是VS2013。这就是问题所在吗?问题是你试图在VS2013中使用C#6语法。?。是C#6的一项功能,仅在Visual Studio 2015中提供。在这里阅读:谢谢你的帮助,我是来自Java的C的新手。添加一些东西来提到方法体的
=>
,我会向上投票。你还应该提到Jonesopolis的评论。另外,我不是指吹毛求疵,但不是
=>
操作符本身对C 6.0来说是新的,仅用于表情体成员。您可能应该在编写答案时澄清这一点,特别是因为您的链接指向的是
lambda
页面,而不是新功能。