Если я зарегистрируюсь для события в c#, в то время как он диспетчеризирует, меня, как гарантируют, не позвонят снова во время той отправки?

Выберите контроллер навигации и в разделе атрибутов установите флажок скрыть панель навигации

.
5
задан fastcall 26 September 2008 в 19:28
поделиться

1 ответ

Да, это гарантируется.

От объединенной спецификации C# 3.0 разделите 15.1:

Однако, когда два непустых экземпляра делегата объединены, их списки вызова связываются — в порядке, оставленном операнд затем правильный операнд — для формирования нового списка вызова, который содержит две или больше записи.

Отметьте "новый список вызова". И снова в разделе 15.3:

После того, как инстанцированный, экземпляры делегата всегда относятся к тому же целевому объекту и методу. Помните, когда два делегата объединены, или каждый удален от другого, новый делегат результаты с его собственным списком вызова; списки вызова делегатов, объединенных или удаленных, остаются неизменными.

Наконец, MSDN для Системы. Состояния делегата:

Делегаты неизменны; после того, как созданный, список вызова делегата не изменяется.

Я подозреваю, что существует что-то в спецификации CLI - я проверю, хотели ли бы Вы, но надо надеяться эти три вселили в Вас достаточно веры :)

9
ответ дан 14 December 2019 в 01:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: