У меня есть ситуация, когда я нахожусь в обработчике событий, и мне нужно изменить определенную информацию о состоянии. Тем не менее, это не безопасно изменить, пока я все еще в обработчике, поэтому мне нужно выполнить его после выхода. Однако должен выполняться в том же потоке. Это должно произойти в будущем, а не тогда.
Теперь, в дни Win32, у вас было два варианта отправки сообщений в окно:
SendMessage
, что означает «Обрабатывайте сообщение прямо сейчас!», Обычно потому, что вам нужен был результат прямо сейчас, или ...
PostMessage
, который только сказал «Добавьте сообщение в очередь окна, чтобы цикл выполнения мог его забрать.
Вариант 2 является эквивалентом того, что мне нужно: «публикация» (планирование) некоторого кода, который будет выполнен в будущем.
Примечание. Поиск здесь "C # эквивалента PostMessage" дает вам этот, казалось бы, связанный вопрос . Однако, как и большинство вопросов о PostMessage
, они тоже спрашивают о фоновых потоках и возвращают уведомления в основной поток, что опять-таки не то, что я спрашиваю. Я конкретно говорю о той же теме, только не сейчас. Во всяком случае, просто пытаюсь предотвратить дублирование голосов, поскольку это похоже на точное совпадение. Это не так.
Так что же такое эквивалент C * / WPF PostMessage
, где мне не нужен результат вызова, но он все равно должен происходить в том же потоке, и когда-нибудь после того, как текущее событие будет полностью обработано?