Известная проблема с телами выражений в свойствах?

У меня возникла проблема с последней версией ReSharper, использующей Visual Studio 2017 RC.

Редактор ReSharper говорит мне, что он не может разрешать такие символы, как var, или токены, такие как public или void, не ожидаются и т. д. стр.

Не уверен, но оказывается, что тела выражений, используемые в свойствах, являются основной причиной.

Пример:

public double PlayingProgress
{
    get => _playingProgress;
    set => SetProperty(ref _playingProgress, value);
}

Если использовать обычные скобки вместо тела выражения, кажется, что у ReSharper больше нет проблем, поскольку область, отмеченная красным, исчезает.

Это известная проблема или есть другие причины?

Есть ли известный обходной путь (я уже пытался очистить кеш и отключить/включить ReSharper)?

Было бы дерьмово, если бы эта новая функция C# 7.0 не работала с ReSharper.


person klose91    schedule 04.01.2017    source источник
comment
Разве это не должно быть подано как проблема в Resharper? Если VS2017 принимает и компилирует код, это ошибка ReSharper. Возможно, уже есть EAP, исправляющий это   -  person Panagiotis Kanavos    schedule 04.01.2017
comment
@PanagiotisKanavos ReSharper 2016.3 был выпущен совсем недавно. Я бы не ожидал нового EAP в ближайшее время.   -  person svick    schedule 04.01.2017


Ответы (1)


Согласно этой записи в блоге последняя версия ReSharper (2016.3) имеет «раннюю поддержку C# 7» (выделено мной). Это означает, что не все функции C# 7 будут работать прямо сейчас (в сообщении явно упоминаются некоторые поддерживаемые функции, но не упоминаются геттеры и сеттеры с выражением). Предположительно, это будет исправлено в более поздней версии, возможно, той, которая будет выпущена при выпуске RTM-версии VS 2017.

Учитывая, что C# 7 все еще находится в разработке, я не думаю, что вам стоит ожидать полной поддержки от таких инструментов, как ReSharper.

person svick    schedule 04.01.2017
comment
Именно это. Несмотря на выпуск версии-кандидата VS2017, C# 7.0 еще не утвержден (и есть упоминания о критических изменениях для RC2/3, хотя у первого RC есть лицензия на запуск). В ReSharper запланирована поддержка C# 7.0 в выпуске 2017.1. Ожидайте его примерно в то время, когда VS2017 выйдет в RTM. - person citizenmatt; 04.01.2017
comment
Ладно, тогда мне просто нужно подождать до релиза. А 7.0 не допилили? Думал, что все функции уже сделаны, которые будут отправлены. - person klose91; 04.01.2017
comment
@ klose91 Насколько мне известно, все функции C # 7 уже реализованы, но их детали могут измениться. - person svick; 04.01.2017