返回錯誤列表的結果我遇到了困難,試圖返回結果與函數調用中的一組錯誤相結合。如何從函數
我從以下途徑
List<String> errors;
bool result = Obj.GetResult(out errors, int id);
第二步是引入新的類
public class OperationResult
{
public bool Result {get;set;}
public List<string> Errors {get;set;}
}
開始,但隨後髒代碼開始出現在調用getResult方法內部。
例如
public OperationResult GetResult(int id)
{
if (id == 0)
{
return new OperationResult { Result = false, Errors = {"Error"}};
}
if (id < 400)
{
var result = new OperationResult { Result = false, Errors = {"Error"}};
if (id >200)
result.Errors.Add("Error");
return result;
}
}
然後我開始擔心不允許結果用戶編輯他們得到的結果。
我已經從OpearationResult類中提取了只能讀取數據的接口。
現在我想添加效果器類...
而在這一點上,我開始想,我做錯了什麼。試圖重新發明自行車,或只是在空中製造問題。
請給我一個建議,如何處理所有這些東西。 我也很好奇這是如何在函數式編程語言中處理的。 (我的意思是不變性)
你不使用任何的例外情況的原因? – 2011-04-26 12:18:31
從來不喜歡異常過度使用,其原因可能與迫使MS放棄基於異常的ui驗證的原因相同。 – v00d00 2011-04-26 12:23:14
您只能過度使用throw語句。作爲一個對象返回一個異常很好。返回布爾的方法是非常邪惡的。 – 2011-04-26 12:34:08