无法使用主构造函数参数

时间:2014-12-02 09:26:05

标签: c#-6.0

我正在使用C#6.0的新功能。我有以下代码行

public class Circle(int radius)
{
    public double circumference => 2 * 3.14 * radius;
}

上面的代码不起作用,并给出错误“名称半径在当前上下文中不存在”

但是当我使用

public class Circle(int radius)
{
    int Radius = radius;
    public double circumference => 2 * 3.14 * Radius;
}

代码工作正常。
这是来自VS的某种错误,因为它的CTP或我的代码有问题。因为我相信我应该能够在构造函数中使用主构造函数的参数,而不是将其设置为其他变量。

2 个答案:

答案 0 :(得分:2)

,这可能无法直接回答您的问题,但主要构造函数已从C#6.0撤回。

请参阅:Changes to the language feature set以及此问题:Primary constructors no longer compile in VS2015

您可能正在尝试Visual Studio 2014 CTP中的代码。您需要下载并安装Visual Studio 2015 Preview的新版本。 (但首先必须卸载Visual Studio 2014 CTP)

您可能会看到最新的:Languages features in C# 6 and VB 14

答案 1 :(得分:1)

根据新语言功能的MSDN magazine article

  

默认情况下,初始构造函数参数不能在初始化程序之外访问。

因此,您无法在计算出的getter所用的任何方法中直接使用它们。