【问题标题】:C# Unusual Instantiation of a Method/Property方法/属性的 C# 异常实例化
【发布时间】:2016-06-16 01:54:05
【问题描述】:

谁能解释一下代码及其用途。这是一个 .net 3.5 应用程序。我以前从未见过这样的事情:

int IList.Add(object value) => this.Add(value as Trigger)

此代码在任何方法之外,不是任何方法的一部分,而是在主类中。

我收到此代码错误,但要修复错误,我需要了解原因和方法。

对不起,我没有完整的代码,我无法提供更多信息,我只是想了解为什么会这样。

【问题讨论】:

  • 这是一个表达式体成员,在 C# 6 中引入。
  • 这是一个显式实现的接口,使用 C# 6 表达式体成员语法。
  • C# 6 只能用 Visual Studio 2015 编译。
  • @Chris,恰恰相反,C# 6 是 C# 的最新迭代。
  • @jsve - 哦,那我肯定过时了;0) - 谢谢你们!!!

标签: c# methods properties


【解决方案1】:

你可以展开

int IList.Add(object value) => this.Add(value as Trigger)

像这样:

int IList.Add(object value) { return this.Add(value as Trigger); }

正如 cmets 所指出的,前者是 C# 6 语言构造,它需要最新的语言编译器,例如与 Visual Studio .Net 2015 一起打包的编译器。之前的编译器版本会产生您提到的语法错误。

语言版本(有时 MS 将其称为“工具版本”)与 .Net 框架无关。您可以将 C# 6 与 3.5 以及其他 .Net 框架一起使用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-29
    • 2016-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多