|
Заблокирован
|
|
Избегайте async void!?16.03.2021, 18:43. Показов 1648. Ответов 6
Метки нет (Все метки)
Известна рекомендация "Избегайте async void". Причины этого растолкованы понятно.
При этом, исключением из этого правила являются обработчики событий - в них рекомендуется async void. В связи с этим два вопроса: 1. Имеются ввиду обработчики событий вообще или событий именно в пользовательском интерфейсе (WinForms/WPF)? 2. А почему асинхронные обработчики этих событий не сделать типа Task? Это имеет какие-то минусы или это никогда не нужно?
0
|
|
| 16.03.2021, 18:43 | |
|
Ответы с готовыми решениями:
6
Зачем async void требует await? System.Void из C# использоваться не может - для получения объекта типа void используйте typeof (void) |
|
1524 / 914 / 329
Регистрация: 17.05.2015
Сообщений: 3,438
|
|
| 16.03.2021, 19:13 | |
|
titan4ik, асинхронные методы должны быть только в модели. Я думаю по этому нет обработчиков событий для контролов, которые возвращают Task.
0
|
|
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
||||
| 16.03.2021, 19:20 | ||||
Сообщение было отмечено titan4ik как решение
Решение
1
|
||||
|
Заблокирован
|
||
| 16.03.2021, 19:25 [ТС] | ||
![]() Не по теме: P.S. Пардон, господа, ввиду временного поражения в правах не могу благодарить плюсиками
0
|
||
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
||
| 16.03.2021, 19:28 | ||
|
1
|
||
|
Заблокирован
|
|
| 16.03.2021, 20:52 [ТС] | |
|
ОК, не вопрос, а конструктивное предложение убедиться в деструктивности такой идеи) ОК. Принимается.
Добавлено через 1 час 21 минуту kolorotur, спасибо, очень познавательно. Выходит, что всё-таки можно сделать обработчик события с типом Task, но для этого нужно использовать собственный тип делегата события. То бишь, отказаться от стандарта EventHandler, который void. Ну, не знаю зачем - если очень нужно отчего-то. Ясно, что этого лучше не делать. Ещё чуть-чуть и начну писать книгу "C# чайнику от чайника" где всё по-человечески будет разъяснено
1
|
|
|
|
||
| 17.03.2021, 11:28 | ||
|
Теперь появляются Task с async/await. Уже вроде можно агрегировать все таски и т.д., но нужна обратная совместимость.
1
|
||
| 17.03.2021, 11:28 | |
|
Помогаю со студенческими работами здесь
7
Почему в async void методе не перехватывается исключение?
Дописать методы void pop_back(void); T& back(void); T& front(void); void erase (iterator p) Реализовать аналог `void *memmove(void *to, void *from, size_t n)` Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 30.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO
Апнулись до NET10.
Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта
так и в интерактивном режиме. из сложностей - чисто функциональный подход.
Решил. . .
|
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2.
Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники".
В. . .
|
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии.
. . .
|
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере".
Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
|
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти".
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
В качестве источника данных. . .
|