我有一个带有以下签名的函数:
public List<myCustomDto> GetData (bool param1, string param2)
然后在代码的不同位置调用它:
List<myCustomDto> myData = GetData(true, "a string");
GetData
函数将从数据库返回数据(存储过程的SELECT
输出)。
最近,我发现我还需要在某些地方了解该过程的返回值。但是,由于我不想更改不需要的代码,因此我只写了第二个函数:
public (bool, List<myCustomDto>) GetDataWithCheck (bool param1, string param2)
并在需要的地方使用它:
(bool myConditionCheck, List<myCustomDto> myData) = GetDataWithCheck(true, "a string");
GetData
和GetDataWithCheck
基本上是相同的功能,只是第二个功能也有一个
cmd.Parameters.Add(new SqlParameter("@ReturnValue", SqlDbType.Int));
cmd.Parameters["@ReturnValue"].Direction = ParameterDirection.ReturnValue;
添加了明显不同的返回类型。
这是正确的方法吗??我觉得这是将代码加倍的方法,但是我想不出其他任何方法都不会涉及更改已经GetData
的50个位置叫。