我需要幫助使這種方法通用。重複約10次以獲取不同網頁列表控件的列表(用「MyType」替換特定控件中使用的類型)。DRY這種方法
private static IList<MyType> GetList(RequestForm form)
{
// get base list
IMyTypeRepository myTypeRepository = new MyTypeRepository(new HybridSessionBuilder());
IList<MyType> myTypes = myTypeRepository.GetAll();
// create results list
IList<MyType> result = new List<MyType>();
// iterate for active + used list items
foreach (MyType myType in myTypes)
{
if (myType.Active || form.SolutionType.Contains(myType.Value))
{
result.Add(myType);
}
}
// return sorted results
result.OrderBy(o => o.DisplayOrder);
return result;
}
讓我知道,如果這是不夠的信息。我認爲這需要我剛剛熟悉的更高級的語言功能。也許我應該讓他們都使用相同的存儲庫?
感謝您的幫助。編輯: 感謝您的幫助。我沒有任何同行的支持,所以這個主板太棒了,我從你們每個人那裏學到了一些東西。我希望我能接受所有的答案。
首先感謝讓方法更簡潔;我真的很喜歡那樣。所有類型都繼承IWebControl接口。我想我可以讓他們都使用同一個存儲庫。 – Leslie 2009-05-28 13:29:21