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



我有以下C#类:

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()ctor显示为类成员。

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

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

你需要做的是像这个一样调用你的事件

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

看看这个-如何查看事件处理程序分配

最新更新