我想知道最佳实践是什么,或者至少对过载更标准。我使用的是 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)
第二种方法基本相同,但它会在事务中进行操作
现在我想知道我该怎么办?只有一种方法接受一个空参数作为交易,在这种情况下不使用任何或两种方法,但除了交易之外,还可以很好地复制/粘贴代码?
这种事情的最佳实践是什么?
编辑:我认为总体思路似乎是在重载之间进行链接。但是我仍然想知道在那种情况下不接受 null 方法中的参数是一种坏事吗?