gpt4 book ai didi

c# - 具有空传播的事件引发的线程安全

转载 作者:太空狗 更新时间:2023-10-30 00:30:05 24 4
gpt4 key购买 nike

<分区>

这两个样本相同吗?可以用 Invoke 和 null propagation 代替旧式的提升吗?

旧:

    public event EventHandler<MyEventArgs> MyEvent;
protected virtual void OnMyEvent(MyEventArgs args)
{
EventHandler<MyEventArgs> handler = this.MyEvent;
if (handler != null)
handler(this, args);
}

新:

    public event EventHandler<MyEventArgs> MyEvent;
protected virtual void OnMyEvent(MyEventArgs args)
{
this.MyEvent?.Invoke(this, args);
}

空值检查很重要,但很明确。附加变量是什么?
零传播在内部是如何工作的?它对事件是线程安全的吗?

附言关于事件中的线程安全,您可以在这里阅读:
C# Events and Thread Safety

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com