我有一个方法,其中包含对检查字符串输入是否为空或为空的方法的一系列调用。如果为空,则将第二个参数设置为 false;
public bool inputsContainData()
{
bool validInputs = True;
_helper.StringContainsData(_view.FilePath1, validInputs);
_helper.StringContainsData(_view.FilePath2, validInputs);
//...
Return validInputs;
}
StringContainsData() 方法在一个类中,该类被 DI 注入到演示者中。该方法不返回任何内容,因为结果变量是引用类型。
public void StringContainsData(string input, bool result)
{
if( string.IsNullOrEmpty(input))
{
result = false;
}
}
我对此有一些问题,因为我无法模拟 StringContainsData() 并让它返回特定的结果。我能想到的唯一解决方案是,如果我包含第二个 If 语句,如下所示:
public bool StringContainsData(string input, bool result)
{
if( string.IsNullOrEmpty(input))
{
if(result != false)
{
return false;
}
}
else
{
if(result == false)
{
return false;
}
}
return true;
}
从而阻止我拥有 True,False,True => final result = true 而不是 false。
有没有更好的方法来做到这一点?