作者wvsrugby (wvsrugby)
看板C_Sharp
标题Re: [问题] 请教比较好的中断流程方式
时间Mon Oct 8 22:13:05 2012
※ 引述《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
1F:推 NewMyLife:真是谢谢您,是另一条好想法呢! 10/09 22:34