如果x
等于,1
那么我们需要SqlDataReader
fromGetDataReader1
方法。否则,我们需要SqlDataReader
从GetDataReader2
. 这是唯一的区别。除此之外,所有需要的代码(它说在这里做东西)都将被复制。我怎样才能使它更优雅,这样我就不必在两个 using 语句中重复所有逻辑?
更新:在简化这篇文章的代码时,我错过了一个额外的因素。GetDataReader1 采用 2 个参数,GetDataReader2 采用 3 个参数。如果我创建一个 GetDataReader 函数并将If
语句移到那里,我是否会被迫传入 GetDataReader1 方法当前不需要的额外参数?
Dim value1, value2, value3 As String
If x = 1 Then
Using myDataReader As SqlDataReader = GetDataReader1(value1, value2)
myDataReader.Read()
If myDataReader.HasRows Then
'do stuff here
End If
End Using
Else
Using myDataReader As SqlDataReader = GetDataReader2(value1, value2, value3)
myDataReader.Read()
If myDataReader.HasRows Then
'do stuff here
End If
End Using
End If