我有一個調用業務層的方法,其當前簽名的MVC4項目值如下:需要的HttpContext在業務層
businessObject.BusinessMethod(param1, param2, param3)
在此業務層的方法,我現在需要有從HttpContext.Current.Session["SomeSessionValue"]
財產的一些數據。
因此,而不是添加使用Resharpers重構功能兩個參數,我想俱樂部所有的三成一個對象,並重新命名的簽名如下
businessObject.BusinessMethod(myParametersObject)
該業務層方法用遍瞭解決方案並測試代碼。如果我使用resharper修改方法簽名,現在我需要在調用方法之前將參數1,參數2,參數3的值分配給MyParameters類的對象中的相應屬性businessObject.BusinessMethod(myParametersObject)
有超過2000個地方需要做這個改變。有沒有更快的方法來做這個改變?我不想手動更改任何地方的代碼或將HttpContext添加到業務層。一些面嚮對象的技術可以幫助我嗎?
謝謝。
所有的2000調用都依賴於會話變量嗎?否則,只需爲所做的調用創建一個新的重載。 – CodeCaster
過載是多參數地獄的方式,在C#4中完全沒有必要,您可以使用默認參數值 –
儘管您可能是對的,但維護通常不是理想世界的情況。無論如何,默認參數是超負荷語法糖,有自己的優點和缺點。 – CodeCaster