這是我在我的項目中的類的簡化版本。由於獎金的計算方式與每個函數完全相同,所以我想刪除此處顯示的明顯代碼重複,並將三種不同的函數合併爲一個。但是我不確定如何提供這個新功能需要的參數。VB.Net重構刪除代碼複製
比如我目前只是路過的說法是這樣的代碼
lblVolumeBonus.Content = TestClass.VolumeBonusAmountStore(獎金)。
我想我必須圍繞基本上把這個邏輯和喜歡的東西
lblVolumeBonus.Content = TestClass.VolumeBonusAmountStore(BonusTrackerBO.StoreBonus)
調用它,但我不知道的正確的語法或者我是否在正確的軌道上。
有人可以幫助我在正確的方向嗎?
Public Class TestClass
Public Shared Function StoreBonus(ByVal bonus As BonusTrackerBO.StoreBonus) As Double
Dim myBonus As Double = bonus.TicketAmount
Return myBonus * 5
End Function
Public Shared Function DistrictBonus(ByVal bonus As BonusTrackerBO.DistrictBonus) As Double
Dim myBonus As Double = bonus.TicketAmount
Return myBonus * 5
End Function
Public Shared Function CompanyBonus(ByVal bonus As BonusTrackerBO.CompanyBonus) As Double
Dim myBonus As Double = bonus.TicketAmount
Return myBonus * 5
End Function
End Class
編輯:它可能不會有所作爲,但我已明確表示,有方程式的其他因素(我只是想保持簡單)。那麼當有其他的獎勵回調像bonus.MaximumAmount,bonus.MinimumAmount時,答案是一樣的嗎?獎勵對象有5次回調,金額根據商店,地區或公司要求而有所不同。
我有點糊塗了由堆棧溢出接口。是否應將更新後的信息作爲原始帖子的編輯進行編輯,作爲對原始帖子的評論或作爲評論回覆? – 2011-02-01 17:39:11
an編輯,(15chars) – Fredou 2011-02-01 18:14:09
謝謝。我只是將我的評論移至原始文章作爲修改。 – 2011-02-01 18:42:21