EventHandler.BeginInvoke "безопасно" использовать? - PullRequest
1 голос
/ 04 июня 2019

У меня есть класс, который следит за состоянием двигателя. Иногда я поднимаю событие, но хочу поднять его в другом потоке. Каков наилучший (и самый безопасный) способ добиться этого?

Безопасен ли этот метод, если в обработчик выдается исключение? Это даже "законно"?

public class MyMotorManager
{
    public event EventHandler<InputStateChangedEventArgs> MotorEnabledChanged;

    private void RaiseMyEvent(bool newEnableValue)
    {
        InputStateChangedEventArgs e = new InputStateChangedEventArgs(newEnableValue);
        MotorEnabledChanged?.BeginInvoke(this, e, MotorEnabledChanged.EndInvoke, null);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...