在 Visual Studio 调试器中看不到事件实现接口

Cannot see event implementing interface in Visual Studio debugger

我有以下 C# class:

public class SignInViewModel : ISwitchable
{
    IChildViewModelFactory _factory;
        
    // Implement ISwitchable interface.
    public event EventHandler<object> SwitchEvent;

    public SignInViewModel(IChildViewModelFactory factory)
    {
        _factory = factory;
    }
    ...
}

当我在 Visual Studio 2019 调试器中检查 value 时,我看不到 SwitchEvent 字段作为成员:

((ISwitchable)value).SwitchEvent += ChildViewModel_SwitchEvent; // value is SignInViewModel instance.

我尝试了以下方法,但得到了相同的结果:

ISwitchable temp = (ISwitchable)value;
temp.SwitchEvent += ChildViewModel_SwitchEvent;

temp 仅将 _factorySignInViewModel() 构造函数显示为 class 成员。

如何查看SwitchEvent实现接口的事件?

SwitchEvent 不是字段。这是一个事件,没有值但分配了处理程序方法

您需要做的是像这样调用您的事件

if (SwitchEvent != null)
    (SwitchEvent(this));  // 'this' is a sender

看看这个 - how to view event handler assignment