亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

需要用c# 實現一個需求,任意方法調用失敗,都會重復再調用2次。

需要用c# 實現一個需求,任意方法調用失敗,都會重復再調用2次。

C#
白豬掌柜的 2018-07-26 18:10:10
比如有一個 Person 類,現在里面有1個Add 方法,如果出現異常,進入catch  然后  再次調用Add 方法  計數器減一次,如果計數器小于0 ,那么就拋出異常,否則繼續調用Add 方法?,F在 新增了很多方法,比如有 Delete,Update ,Putch, 等等,都需要支持調用失敗,重復嘗試調用,所以代碼需要重構,總不能每個方法里面都寫try catch 然后重復那種相同的邏輯,希望有大神能實現這個重構。
查看完整描述

2 回答

?
犯罪嫌疑人X

TA貢獻2080條經驗 獲得超4個贊

之前做過一個.正經的解決方案是ioc容器加接口方法攔截

你到百度搜  ioc 方法攔截 .net 

查看完整回答
反對 回復 2018-07-29
?
qq_花開花謝_0

TA貢獻1835條經驗 獲得超7個贊

Add方法應該沒有副作用。
重復幾次應該是調用者該干的事
可以寫個方法

Try<T>(Func<T> fun,int count){    while(true){        try{           return fun();
        }        catch(e){            count--;            if(count < 0) throw e;
        }
    }
}

調用的時候

var result = Try(()=>{return  Add();},1  );


查看完整回答
反對 回復 2018-07-29
  • 2 回答
  • 0 關注
  • 1140 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號