我有一些重复的代码,我正试图将其重构为一个通用函数,以从对象列表(所有的INamed列表)中生成一个复选框列表。
第二个参数是一个委托,它将调用回一个函数,但我不知道如何实际调用这个方法。使用此委托调用方法的最佳方式是什么?(我正在寻找一个调用Checkboxlist函数的代码示例)
public delegate bool HasHandler(INamed named);
这是通用方法
static public string CheckboxList(IQueryable<INamed> allItems, HasHandler has, string name)
{
StringBuilder b = new StringBuilder();
foreach (var item in allItems)
{
if (has(item))
{
b.Append("<input type= checkbox class= checkboxes name= " + name + " value=" + item.Id + " checked />" + item.Name);
}
else
{
b.Append("<input type= checkbox class= checkboxes name= " + name + " value=" + item.Id + " />" + item.Name);
}
}
return b.ToString();
}