More Effective C# 26.在 Iterators 與 Async 方法中使用區域函式啟動立即錯誤回報
這個做法討論 Local Functions
的應用大部分的內容在 Effective C# 29 有稍微提到過,主要就是 C# 有一些延遲執行特性的方法,當這個延遲特性與一些需要馬上回報的功能會產生衝突,
例如要立即檢查傳入參數,發現錯誤後馬上拋出 ArgumentException
,如果這段檢查邏輯是包含在距由延遲特性的方法裡面,那麼檢查邏輯就會被延後到呼叫發法時才會檢查。
More Effective C# 24.避免使用 ICloneable,因為它限制你的設計選擇
這個做法建議不要實做 ICloneable
介面,還有 Deep Copy
和 Shallow Copy
的概念。