public class MyClass
{
public string DeviceCommands { get; set; } = "DeviceCommands";
}
У меня есть 30 ошибок в этом виде линий ...ли это действительный синтаксис в C# .NET 4.6.2
public class MyClass
{
public string DeviceCommands { get; set; } = "DeviceCommands";
}
У меня есть 30 ошибок в этом виде линий ...ли это действительный синтаксис в C# .NET 4.6.2
.NET 4.6.2 является рамочным версия, а не языковой версии. Чтобы иметь возможность делать эту строку, вы должны использовать C# 6 или новее. Если вы компилируете C# 6, вам будет разрешено использовать этот синтаксис в проекте .NET 2.0.
Если вы используете Visual Studio 2015 или новее, вы используете C# 6 или новее.
Если вы используете Visual Studio 2015 и по-прежнему получаете ошибки, есть еще одна проблема с вашим кодом, который вы нам не показываете.
UPDATE:
Если вы используете VS2015 и получаю ошибку, которая говорит
CS8026 Ошибка: Функция 'автоматическое свойство инициализатор' не доступен в C# 5. Пожалуйста, используйте языковой версии 6 или выше.
Это означает, что в свойствах вашего проекта -> Сборка -> Расширенный экран вы устанавливаете языковой вариант вручную до 5 или ниже, а не по умолчанию.
Установка обратно в default
будет решить эту проблему.
Я использую VS2013, а .NET 4.6.2 установлен в настройках проекта - теперь я вижу, что в предыдущей версии проекта он составлял компиляцию но теперь это не ... и не может найти никакой очевидной причины ... –
*** «Я использую VS2013 ...» *** Это ваша проблема. Вы используете C# 5, потому что используете VS2013, вам нужно открыть проект в VS2015, чтобы его можно было скомпилировать. –
Синтаксис, который у вас есть, - это Инициализаторы свойств недвижимости.
Это не имеет ничего общего с .NET Version. Это языковая функция от C# 6.0
.
Для того, чтобы сделать эту работу, нужен roslyn compiler plattform.
Если вы не можете поддерживать C# 6.0
, вы могли бы сделать это по-старому:
public class MyClass
{
public string DeviceCommands { get; set; };
public MyClass()
{
DeviceCommands = "DeviceCommands";
}
}
этот синтаксис действует в C# 6, вы можете скомпилировать его во многих .net целей, 4,6 является одним из них –
Чтобы добавить C# 6 в VS2013 - http://stackoverflow.com/a/32010632/1544886 –