Re: [問題] 請教比較好的中斷流程方式

看板C_Sharp作者 (wvsrugby)時間11年前 (2012/10/08 22:13), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《NewMyLife (新人生)》之銘言: : 我有個主函式main,裡面包含一些彼此相依的小函式ABC : 其中一個失敗就不打算再執行後續的 : public bool main() : { : bool ststus = false; : status = A(); : writeLog(status, Alog);//無論失敗與否都寫出執行狀態、記錄 : if(!status) return false;//失敗的話就跳出,不執行後續 : status = B(); : writeLog(status, Blog); : if(!status) return false; : status = C(); : writeLog(status, Clog); : if(!status) return false; : return true; : } : 想請問有沒有好的寫法流程可以捨去重覆的 writeLog 及 if(!status) return false; : 或是像try-catch那樣一發現有exception就跳出(只是這邊是一發現false就跳出) : 希望學習好的思考方式及撰寫流程 : 懇請版友不吝指點 : 十分感激 void Main() { Func<Func<bool>, string, bool> exec = (m, log) => { var r = m(); writeLog(r, log); return r; }; if (!exec(A, "Log A")) return; if (!exec(B, "Log B")) return; if (!exec(C, "Log C")) return; } private void writeLog(bool r, string log) { Console.WriteLine("{0} {1}", log, r); } bool A() { return true; } bool B() { return true; } bool C() { return false; } -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.165.252.233

10/09 22:34, , 1F
真是謝謝您,是另一條好想法呢!
10/09 22:34, 1F
文章代碼(AID): #1GSjzr5x (C_Sharp)
文章代碼(AID): #1GSjzr5x (C_Sharp)