这是C#.NET 4.6.2中的有效语法吗
我在这类行中有30个错误….NET4.6.2是一个框架版本,而不是语言版本。要做到这一点,您必须使用C#6或更高版本。如果您使用C#6进行编译,则可以在.NET2.0项目中使用该语法 如果您使用的是Visual Studio 2015或更高版本,则您使用的是C#6或更高版本 如果您使用的是Visual Studio 2015,但仍然出现错误,那么您的代码中还有一些其他问题,您没有向我们展示 更新: 如果您使用的是VS2015,并且收到的错误表明 错误CS8026:功能“自动属性初始值设定项”在C#5中不可用。请使用语言版本6或更高版本 这意味着在项目属性->构建->高级屏幕中,您可以手动将语言版本设置为5或更低,而不是默认值这是C#.NET 4.6.2中的有效语法吗,c#,syntax,setter,C#,Syntax,Setter,我在这类行中有30个错误….NET4.6.2是一个框架版本,而不是语言版本。要做到这一点,您必须使用C#6或更高版本。如果您使用C#6进行编译,则可以在.NET2.0项目中使用该语法 如果您使用的是Visual Studio 2015或更高版本,则您使用的是C#6或更高版本 如果您使用的是Visual Studio 2015,但仍然出现错误,那么您的代码中还有一些其他问题,您没有向我们展示 更新: 如果您使用的是VS2015,并且收到的错误表明 错误CS8026:功能“自动属性初始值设定项”在C
将其设置回默认值将解决此问题。您使用的语法是自动属性初始值设定项 它与.NET版本无关。它是
C#6.0
中的一种语言功能
你需要的是使这项工作
如果您不能支持C#6.0
,您可以使用旧方法:
public class MyClass
{
public string DeviceCommands { get; set; } = "DeviceCommands";
}
此语法在C#6中有效,您可以在许多.net目标中编译它,4.6是将C#6添加到VS2013的其中一种方法-我正在使用VS2013,而.net 4.6.2是在项目设置中设置的-我现在看到,在以前的项目版本中它正在编译,但现在它不是…并且找不到任何明显的原因…“我正在使用VS2013…”这是您的问题。您使用的是C#5,因为您使用的是VS2013,您需要在VS2015中打开项目才能编译它。
public class MyClass
{
public string DeviceCommands { get; set; };
public MyClass()
{
DeviceCommands = "DeviceCommands";
}
}