我正在使用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或我的代码有问题。因为我相信我应该能够在构造函数中使用主构造函数的参数,而不是将其设置为其他变量。
答案 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)