x
が等しい場合、 fromメソッド1
が必要です。そうでなければ、 from が必要です。それが唯一の違いです。それ以外は、必要なすべてのコード (ここで何かを行うと書かれている場所) が複製されます。両方の using ステートメント内ですべてのロジックを繰り返す必要がないように、これをよりエレガントにするにはどうすればよいですか?SqlDataReader
GetDataReader1
SqlDataReader
GetDataReader2
更新:この投稿のコードを単純化する際に、追加の要因を見逃していました。GetDataReader1 は 2 つのパラメーターを受け取り、GetDataReader2 は 3 つのパラメーターを受け取ります。GetDataReader 関数を 1 つ作成し、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