Ошибки при использовании кортежа C # 7.0 в методе - PullRequest
0 голосов
/ 01 июня 2018

Я пытаюсь использовать новый синтаксис Tuple в C # 7.0, используя приведенный ниже код, и он не компилируется.VS 2017 15.7 .Net 4.6 не дает счетчик ошибок, но показывает ошибки в окне вывода.Решарпер не указывает ни на какие ошибки.Тот же код работает в Linqpad.Я установил Install-Package System.ValueTuple -Version 4.5.0.
Чего мне не хватает?

private (bool a, bool b) Get(int num)
{
    return (true, false);
}

Ошибки:

error CS1519: Invalid token '(' in class, struct, or interface member declaration
error CS1001: Identifier expected
error CS1002: ; expected
Syntax error, ',' expected
error CS1002: ; expected
error CS1520: Method must have a return type
error CS1026: ) expected
error CS1002: ; expected
error CS1513: } expected
error CS1002: ; expected
error CS1513: } expected

Ответы [ 2 ]

0 голосов
/ 28 сентября 2018

После обновления версии Visual Studio, чтобы использовать новый синтаксис, вам нужно сделать еще одну вещь:

Перейдите в менеджер пакетов NUGET и добавьте ссылку на System.ValueTuple.dll.

0 голосов
/ 01 июня 2018

Устанавливая последнюю версию Microsoft.Net.Compilers, которая обновила версию, я исправил проблему, но затем я удалил все ссылки на нее в файлах csproj и packages.config.Я не помню, зачем мне это было нужно.

Install-Package Microsoft.Net.Compilers -Version 2.8.2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...