如何知道事件是否在 运行 时间内附加

How to know if event was attached in run time

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

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

我怎么知道这个事件是附加的还是分离的?

无法确定某个事件是否曾经被附加或删除,尤其是 class 你没有' t 定义。在另一个 class 中定义的 event 只能出现在 add/remove 操作的左侧 - 尝试否则将导致编译器告诉您尽可能多的错误。

如果您出于某种无法更好地适合的原因想要了解此信息,请考虑在附加此偶数处理程序时升起一个标志,以便您稍后可以查询该标志。