vb.net - 如何通过添加参数来搜索确切的控件类型而不是仅搜索文本框来更新此功能?
问题描述
我正在为我的程序的用户输入构建一些库。ErrorProvider
如何通过添加参数来清除确切控件类型的消息而不仅仅是文本框来增强我的过程?
Friend Sub ClearErpMessages(Container As Control, ErpProvider As ErrorProvider)
For Each tBox As TextBox In Container.Controls.OfType(Of TextBox).Where(Function(fTBox As TextBox) fTBox.Tag IsNot Nothing)
ErpProvider.SetError(tBox, "")
Next
End Sub
解决方案
您需要使过程通用,并且需要应用通用约束,因为类型T
必须是Control
:
Friend Sub ClearErpMessages(Of T As Control)(ByVal Container As Control, ByVal ErpProvider As ErrorProvider)
For Each ctl As T In Container.Controls.OfType(Of T).Where(Function(c As T) c.Tag IsNot Nothing)
ErpProvider.SetError(ctl, "")
Next
End Sub
ClearErpMessages(Of TextBox)(Me, error_provider)
ClearErpMessages(Of ComboBox)(Me, error_provider)
推荐阅读
- reactjs - ReactJs/Node 应用和 Flutter 移动应用之间的数据共享
- docker - npm install -g apiconnect 在 Docker 容器 (RHEL8) 中失败
- android - PagingData 在 Paging 3 库中是否默认在后台线程上运行?
- node.js - 如何在 TypeORM 实体中指定 SQL Server 计算列?
- applescript - 苹果脚本新手
- ios - 列表部分标题的 SwiftUI 2 清除背景
- linux - 使用 ansible playbook 处理目标环境(dev/prod/systest)的 YUM 包安装部署
- ios - SwiftUI 旋转屏幕使模态不再自行消失
- html - CSS无法在主要内容中向下滚动
- javascript - getelementbyid 在 iframe 中加载页面