使用EventHandler.BeginInvoke是否“安全”?

时间:2019-06-04 08:06:51

标签: c# events

我有一堂课,监督电动机的状态。有时我引发一个事件,但是我想在另一个线程上引发它。实现此目的的最佳(最安全)方法是什么?

如果在处理程序中引发异常,此方法安全吗?这样做甚至“合法”吗?

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);
    }
}

0 个答案:

没有答案