我想知道什么是最好的做法,或者至少是什么是超负荷的标准。我使用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种方法,但可以复制/粘贴除交易以外的代码?
什么被认为是这种事情的最佳做法?
编辑:我认为一般的想法似乎做重载之间的链接。但是我仍然怀疑在这种情况下不接受空方法的方法是一种坏事?
你想解决什么问题?“最佳实践”非常主观;这一切都取决于你的问题的上下文(提示:我们需要看到的不仅仅是方法签名)。更不用说任何好的答案真的需要看你的代码,所以它可以重构。语境很重要,对这个问题的任何好的回答都需要比你提供的更多的语境。你能帮助我们吗? –