1
從問題在這裏跟進: Cleanest way to write retry logic?通用重試邏輯的代碼,其中Constructor可以拋出
在答案,泛型類重試功能的定義和使用這樣的:
Retry.Do(() => SomeFunctionThatCanFail(), TimeSpan.FromSeconds(1));
會如何你實現了一個通用的重試,構造函數也可以拋出?
所以我不只是要重試:
SomeFunctionThatCanFail()
我要重新以下塊以通用的方式:
SomeClass sc = new SomeClass();
sc.SomeFunctionThatCanFail();
如果您不需要訪問'後來sc',你可以做新的'Retry.Do(()=>新SomeClass的()SomeFunctionThatCanFail(),時間跨度。 FromSeconds(1));' –
「構造函數拋出的地方」聽起來很腥。是的構造函數可能會拋出,但必須是嚴重錯誤的東西。沒有什麼可以在第二次嘗試中工作 – Steve
將整個塊放入lambda表達式有什麼問題? –