如何避免创建两个Sub?按需使用Form或DataGridView参数
解决VB.NET Sub参数可选的问题
你可以给参数添加Optional关键字并设置默认值为Nothing,这样就能实现在调用时只传入需要的参数,不用创建两个重载的Sub。
修改后的代码如下:
Public Sub ExecuteReaderDataGridView(SQLQuery As String, Optional TargetDataGridView As DataGridView = Nothing, Optional TargetForm As Form = Nothing) ' 内部逻辑里可通过判断参数是否为Nothing区分处理场景 If TargetDataGridView IsNot Nothing Then ' 处理DataGridView相关逻辑 End If If TargetForm IsNot Nothing Then ' 处理Form相关逻辑 End If End Sub
调用示例:
- 只传入DataGridView:
ExecuteReaderDataGridView("SELECT * FROM Table1", TargetDataGridView:=DataGridView1) - 只传入Form:
ExecuteReaderDataGridView("SELECT * FROM Table1", TargetForm:=Me) - 同时传入两个参数:
ExecuteReaderDataGridView("SELECT * FROM Table1", DataGridView1, Me)
这样就能根据实际场景灵活选择传入的参数,无需创建多个重载方法。
内容的提问来源于stack exchange,提问作者Error 1004
相关产品推荐
相关产品推荐

