У меня есть повторяющийся код, который я пытаюсь реорганизовать в общую функцию для создания списка флажков из списка объектов (все списки 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();
}
Вы получаете ошибку? –
Как в стороне, всякий раз, когда вы строите HTML в методе, подобном этому, часто существует лучший способ. –
@ Justin Morgan - есть ли у вас какие-либо конкретные предложения для этого примера? – leora