C# 如何知道事件是否在运行时附加

C# 如何知道事件是否在运行时附加,c#,eventhandler,C#,Eventhandler,我动态添加和删除TextChanged事件: TextBox.TextChanged -= new System.EventHandler(this.textBox_TextChanged); ........ TextBox.TextChanged += new System.EventHandler(this.textBox_TextChanged); 我如何知道某个时刻该事件是否已附加或分离?无法确定事件是否已附加或删除,尤其是未定义的类中的事件。在另一个类中定义的事件只能出现在添加/删

我动态添加和删除
TextChanged
事件:

TextBox.TextChanged -= new System.EventHandler(this.textBox_TextChanged);
........
TextBox.TextChanged += new System.EventHandler(this.textBox_TextChanged);

我如何知道某个时刻该事件是否已附加或分离?

无法确定事件是否已附加或删除,尤其是未定义的类中的事件。在另一个类中定义的
事件
只能出现在添加/删除操作的左侧-尝试执行其他操作将导致编译器告诉您错误


如果你想知道这一点,因为某些原因不能更好地适用,请考虑在附加这个偶数处理程序时升起一个标志,这样你就可以在以后查询这个标志。

没有办法。你应该把函数中的Add/Enter包起来,然后你可以看到那些被调用的事件事件通知系统。这就是为什么人们喜欢使用Rx的原因之一…:)也可能是otoh的复制品,但也可能是otoh的复制品