VS2015 C# WPF: как добавить обработчик событий? - PullRequest
0 голосов
/ 23 февраля 2020

Я использую приведенный ниже код для добавления обработчика событий в C#. Он всегда работает в VS2017 или VS2019.

async void deviceChangedHandler(object s, EventArgs e) => await DevicesChangedEventAsync();
_deviceWatcher.DeviceChanged += deviceChangedHandler;

Сегодня, когда я использовал его в VS2015. Я получил ошибку: имя 'asyn c' не существует в текущем контексте. Не уверен, что пошло не так. Кто-нибудь может помочь?

1 Ответ

2 голосов
/ 23 февраля 2020

Локальные функции не были представлены до C# 7.0, который поддерживается VS 2017.

Конечно, то, что вы пытаетесь сделать, может быть упрощено до:

_deviceWatcher.DeviceChanged += (_, args) => DevicesChangedEventAsync();

, который, помимо того, что будет короче, будет работать еще до C# 4.0 (VS 2010). Новые языковые функции на самом деле не нужны и даже не полезны.

...