C# 为什么在我的抽象基类中会出现这种编译错误?
我正在尝试扩展这个插件供我自己使用 但是当我将代码复制到VisualStudio时,我得到了一些错误 我是否需要导入一些特殊的框架才能使用“=>”操作符和“Invoke”方法?这是一个抽象基类。我正在使用VS2013?。是C#6中的一项功能,以及=>运算符(用于表达式体成员时),仅在Visual Studio 2015中可用 在这里和这里阅读有关它们的文章 C#<6语法: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来说是新的,仅用于
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
页面,而不是新功能。