【发布时间】:2021-08-31 09:52:04
【问题描述】:
假设我有一个事件处理程序来验证在我的TextBox 控件中输入的文本。
- 我应该转换
sender参数吗?
((TextBox)sender).Text
- 还是直接访问控件?
textBox1.text
【问题讨论】:
-
如果您没有多个文本框都使用相同的事件处理程序代码,我会说直接访问它。
-
我是这么想的,但以后可能不会这样了。如果控件的名称在方法的名称中,也许我可以直接访问它,即
TextBox1_Validating -
基本上是基于意见的,但这可能取决于您是否希望发件人是 textbox1 并且始终是它,或者,例如,您是否将事件处理程序分配给多个控件,因此您需要转换发件人.另外谨慎使用后一种方式来检查类型以及不为空。在直接调用方法或任何其他东西时传递 null 作为发送者来控制处理程序的行为是完全合法的。
-
我同意,直接访问也更具可读性