需要不同签名的两个事件的相同事件处理程序
Same event handler for two events which requires different signature
我想在 TextChanged
和 Validating
事件中调用一个方法。问题是 TextChanged
的 e
参数是 EventArgs
类型,而 Validating
的 e
参数是 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,因此您可以在那里手动输入名称
我想在 TextChanged
和 Validating
事件中调用一个方法。问题是 TextChanged
的 e
参数是 EventArgs
类型,而 Validating
的 e
参数是 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,因此您可以在那里手动输入名称