Изменить. Если вы видите эту проблему (и вы привыкли НЕ видеть это под VS2010), прокомментируйте это ниже, поэтому я знаю это не только я, но обязательно проверьте Han ответьте, чтобы убедиться, что ни один из этих сценариев не появился...
Я обновляю свое приложение для работы с .NET 4.5 в RTM VS2012 и замечаю то, что я не совсем понимаю, и это неожиданно зеленые подсвеченные заявления (вместо желтого).
Теперь я хорошо знаю, что это должно означать, и среда IDE даже показывает мне небольшую подсказку для объяснения.
Это следующий оператор для выполнения, когда этот поток возвращается из текущая функция
Однако нет абсолютно ничего асинхронного или потока, основанного на этом коде. В этом простом примере я уверен, что вы согласитесь, что string.ToUpper()
не будет отключен в другом потоке. Я могу пройти через код без проблем.
Там ничего не происходит, и я нахожусь в основном потоке, как вы можете видеть здесь.
I am, используя async
и await
и MVVM-Light
(приведенный выше метод является результатом RelayCommand), но я все еще получаю это поведение, даже когда путь кода находится прямо обработчик событий, например PreviewKeyDown
.
Если я создаю новое приложение, я не могу его дублировать - окраска будет желтой, как ожидалось, даже при использовании await
.
У кого-нибудь есть идея? Это начинает сводить меня с ума!