Сообщение Re[3]: SemaphoreSlim(1, 1) WaitAsync 2 -- пару вопросов. от 30.12.2020 12:25
Изменено 30.12.2020 13:18 Serginio1
Re[3]: SemaphoreSlim(1, 1) WaitAsync 2 -- пару вопросов.
Здравствуйте, Sharov, Вы писали:
S>Почему компилятор не делает никакой разницы между Add/Remove возращающих Task и void, если поведение будет разным?
S>Даже warning'ов нету.
Ну можно посмотреть шаблон
WhenAllOrFirstException
Просто async void не возвращает Task и к нему невозможно применить ContinueWith
Можно попробовать
tasks.Add(Task.Run(()=> await remove() ));
А вот хрен, нельзя говорит cs4033 применит await к void, должен быть async
И тут же CS4008 ожидание void невозможно
S>Почему компилятор не делает никакой разницы между Add/Remove возращающих Task и void, если поведение будет разным?
S>Даже warning'ов нету.
Ну можно посмотреть шаблон
WhenAllOrFirstException
Просто async void не возвращает Task и к нему невозможно применить ContinueWith
Можно попробовать
tasks.Add(Task.Run(()=> await remove() ));
А вот хрен, нельзя говорит cs4033 применит await к void, должен быть async
И тут же CS4008 ожидание void невозможно
Re[3]: SemaphoreSlim(1, 1) WaitAsync 2 -- пару вопросов.
Здравствуйте, Sharov, Вы писали:
S>Почему компилятор не делает никакой разницы между Add/Remove возращающих Task и void, если поведение будет разным?
S>Даже warning'ов нету.
Ну можно посмотреть шаблон
WhenAllOrFirstException
Просто async void не возвращает Task и к нему невозможно применить ContinueWith
Можно попробовать
tasks.Add(Task.Run(async ()=> await remove() ));
А вот хрен, нельзя говорит cs4033 применит await к void, должен быть async
И тут же CS4008 ожидание void невозможно
S>Почему компилятор не делает никакой разницы между Add/Remove возращающих Task и void, если поведение будет разным?
S>Даже warning'ов нету.
Ну можно посмотреть шаблон
WhenAllOrFirstException
Просто async void не возвращает Task и к нему невозможно применить ContinueWith
Можно попробовать
tasks.Add(Task.Run(async ()=> await remove() ));
А вот хрен, нельзя говорит cs4033 применит await к void, должен быть async
И тут же CS4008 ожидание void невозможно