同一个处理器添加两次、移除一次后,这段程序会输出什么?

来自 事件订阅与生命周期
C# 14 / .NET 10 进阶 2分钟

同一个处理器添加两次、移除一次后,这段程序会输出什么?

csharp
using System;

var signal = new Signal();
EventHandler handler = (_, _) => Console.WriteLine("called");

signal.Changed += handler;
signal.Changed += handler;
signal.Changed -= handler;
signal.Raise();

public sealed class Signal
{
    public event EventHandler? Changed;
    public void Raise() => Changed?.Invoke(this, EventArgs.Empty);
}
在试验场中打开
报告错误