当您需要相同的参数但返回类型不同时,是否可以编写两种方法?

时间:2019-05-28 06:04:14

标签: c#

我有一个带有以下签名的函数:

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");

GetDataGetDataWithCheck基本上是相同的功能,只是第二个功能也有一个

 cmd.Parameters.Add(new SqlParameter("@ReturnValue", SqlDbType.Int));
 cmd.Parameters["@ReturnValue"].Direction = ParameterDirection.ReturnValue;

添加了明显不同的返回类型。

这是正确的方法吗??我觉得这是将代码加倍的方法,但是我想不出其他任何方法都不会涉及更改已经GetData的50个位置叫。

0 个答案:

没有答案