需要不同签名的两个事件的相同事件处理程序

Same event handler for two events which requires different signature

我想在 TextChangedValidating 事件中调用一个方法。问题是 TextChangede 参数是 EventArgs 类型,而 Validatinge 参数是 CancelEventArgs 类型。

我显然可以做这样的事情:

void TextBox_TextChanged(object sender, EventArgs e) => Method();
void TextBox_Validating(object sender, CancelEventArgs e) => Method();

但我想知道是否可以选择让两个事件具有相同的事件处理程序。

由于 EventArgs 是 CancelEventArgs 的基础,您可以对这两个事件使用 (object sender, EventArgs e)。在属性 window 上,您可能看不到正确的事件名称,因为您使用的是基础 class,因此您可以在那里手动输入名称