ベストプラクティスは何か、または少なくとも過負荷についてより標準的なものは何なのだろうか。私はC#3.5を使用しているので、オプションのパラメーターはありません。次の方法があるとしましょう:
Foo(string param1, string param2)
{
SqlConnection connection = SM.Program.GetConnection();
SqlCommand command = connection.CreateCommand();
command.CommandText = "UPDATE Table" +
"SET Pla = @pla " +
"WHERE Foo = @foo";
try
{
command.Parameters.AddWithValue("@pla", param1);
command.Parameters.AddWithValue("@foo", param2);
connection.Open();
command.ExecuteNonQuery();
}
finally
{
connection.Dispose();
command.Dispose();
}
}
そして、別のパラメーターを使用したオーバーロードが必要であること、たとえば sqltransaction としましょう
Foo(string param1, string param2, SqlTransaction trans)
2番目の方法は基本的に同じですが、トランザクションで操作を行います
今、私は何をすべきか疑問に思っていますか?null引数をトランザクションとして受け入れるメソッドは1つだけで、その場合は1つまたは2つのメソッドを使用せず、トランザクションを除いてコードをかなりコピー/ペーストしますか?
そのようなことのベストプラクティスと考えられるものは何ですか?
編集:一般的な考え方は、オーバーロード間のチェーンを行うように思われると思います。しかし、その場合、メソッドでnull引数を受け入れないのは一種の悪いことなのだろうか?