c# 主构造函数(实验特性)

c# primary constructors (experimental feature)

C# 主构造函数功能已从 C#6 'semi' 中删除。

class Point(int x, int y)
{
    public int X { get; } = x; // this is supported, but now it's static only!
    public int Y { get; } = y;
}

我无法从团队中找到任何关于此功能未来发生巨大变化的可能性的迹象。 我正在尝试查找更多信息,以便就是否冒险使用该功能做出明智的决定。

Resharper 很好地支持它,所以它真的很诱人。

C# 团队非常重视重大更改。他们只在收益非常高且破坏现有工作代码的可能性非常低时才这样做(例如,the change to closure behavior in foreach in C# 5 就是这样一个重大变化)。

因此,如果 C# 编译器的发布版本(不是预览版或测试版或类似版本)中有某些内容,您可以像依赖 C# 的任何其他功能一样依赖它。这包括 C# 6.0 最终版本中包含的 getter-only auto-properties