需要幫助我有一個函數在C#代碼
protected void bindCurrencies(DropDownList drp)
{
drp.DataSource = dtCurrencies;
drp.DataTextField = "CurrencyName";
drp.DataValueField = "CurrencyID";
drp.DataBind();
drp.Items.Insert(0, new ListItem("Please Select"));
}
我結合使用這個下拉列表。但有時我需要綁定一個ListBox。我不想爲列表框寫一個不同的函數。我應該如何做到這一點。我想在這裏使用泛型方法。但我對泛型沒有任何想法。
這將使得代碼更復雜,不是簡單的和愚蠢的。如果他稍後需要將其擴展爲另一種對象類型,那麼他應該創建一個匹配的超載。這避免了不必要的轉換,並且是類型之間的更加明確的區別,並且不需要更改(並可能中斷)工作代碼來擴展它。 – 2010-06-02 10:22:32
我不同意,我寧願維護圍繞對象類型有一個簡單的選擇案例的代碼。添加/刪除操作非常簡單,只需編輯選擇邏輯(不是很困難)。而不是有多個重載的函數/方法遍佈整個地方,在我看來這是不太可維護的。使用簡單的選擇案例不會破壞現有代碼,而不會超過重載版本。 – Darknight 2010-06-02 10:32:48
請閱讀Robert Martin的「Clean Code」。他非常好地描述了爲什麼select/switch語句不適合維護代碼,應該避免。 – 2010-06-02 10:47:33