我找到了这个奇怪的C#类构造函数语法是什么?

时间:2015-05-13 17:15:19

标签: c# .net constructor

我在Jon Skeet下载了一个名为' PclPal'如找到here - 由于我不认识的一些C#语法,它拒绝在Visual Studio 2013中编译。

两个.cs文件似乎在实际的类声明中都有构造函数逻辑,如下所示:

 public class Profile(string path, IEnumerable<SupportedRuntime> runtimes)
    {
        public string Name { get; } = System.IO.Path.GetFileName(path);
        public String Path { get; } = path;
        public IReadOnlyCollection<SupportedRuntime> SupportedRuntimes { get; } = runtimes.ToList().AsReadOnly();
这是什么?这是C#的未来版本还没有学到吗?

编辑:我不认为这是一个重复的问题。链接的问题说“为什么主要的构造函数不能编译?”而这个问题有效地说“这些事情最终会成为主要的构造函数”?&#39;

1 个答案:

答案 0 :(得分:5)

这些功能最初来自C#6,“带有初始化程序的自动属性”和“主要构造函数”。

https://msdn.microsoft.com/en-us/magazine/dn683793.aspx