如何通过添加参数来更新此函数以搜索确切的控件类型,而不仅仅是文本框?



我正在为程序的用户输入构建一些库。如何通过添加参数来清除确切控件类型的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)

最新更新