我有以下代碼,其具有一些重複這段代碼如何清除以消除重複?
private List<SelectListItem> GetDeskList(int deskId)
{
List<Desk> apps = Model.GetDesks();
List<SelectListItem> dropdown = apps.ConvertAll(c => new SelectListItem
{
Selected = c.Id == deskId,
Text = c.Name,
Value = c.Id.ToString()
}).ToList();
dropdown.Insert(0, new SelectListItem());
return dropdown;
}
private List<SelectListItem> GetRegionList(int regionId)
{
List<Region> apps = Model.GetRegions();
List<SelectListItem> dropdown = apps.ConvertAll(c => new SelectListItem
{
Selected = c.Id == regionId,
Text = c.Name,
Value = c.Id.ToString()
}).ToList();
dropdown.Insert(0, new SelectListItem());
return dropdown;
}
和一些更喜歡它與一個類似的模式。什麼是重構這避免重複
在你的例子中,我不能編譯你的解決方案,因爲我得到錯誤,它無法解決c.Id或c.Name。任何想法爲什麼? – leora 2010-06-30 23:53:18
@ooo:我剛剛做了一個修改。爲了這個工作,你的模型需要實現一個通用的接口(或從一個公共的基類繼承)與這些屬性。 – LukeH 2010-06-30 23:58:52