我有一個方法,其中包含一系列調用方法,該方法檢查字符串輸入是否爲空或空。如果它爲空,則將第二個參數設置爲false;嘲笑不返回值的方法
public bool inputsContainData()
{
bool validInputs = True;
_helper.StringContainsData(_view.FilePath1, validInputs);
_helper.StringContainsData(_view.FilePath2, validInputs);
//...
Return validInputs;
}
的StringContainsData()方法是在其中DI'd到演示的類。該方法不返回任何內容,因爲結果變量是引用類型。
public void StringContainsData(string input, bool result)
{
if(string.IsNullOrEmpty(input))
{
result = false;
}
}
我有一些問題,因爲我不能模擬StringContainsData()並讓它返回一個特定的結果。我能想到的唯一的解決辦法是,如果我有第二個。如果聲明如下:
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阻止我。
有沒有更好的方法來做到這一點?
你的方法沒用。由於參數不是'ref'或'out'參數,因此外部方法無法看到'StringContainsData'內'result'的變化。 –
修正'StringContainsData'之前,甚至去嘲笑...另外,爲什麼嘲笑這樣一個平凡的功能? – leppie
再次請修正您的代碼。它甚至不會編譯。 – leppie