Одна вещь, которую я вижу, что люди часто упускают, это использование дословных строк C # для подобных вещей ... например,
sb.AppendLine("<li class=\"tel\">");
sb.AppendLine("<span class=\"type\">Work</span>:");
sb.AppendLine(string.Format("<span class=\"value\">{0}</span>",phone));
sb.AppendLine("</li>");
может быть превращено в
sb.AppendFormat(@"
<li class=""tel"">
<span class=""type"">Work</span>: <span class=""value"">{0}</span>
</li>
", phone);
, чтоболее читабельным.
Еще одна вещь: я бы поместил все эти строки + bool внутри объекта, например ContactInfo
или что-то еще, изменив сигнатуру вашего помощника на BusinessDisplayContacts(this HtmlHelper helper, ContactInfo info)
- таким образом вы сможете добавить/ удалить / изменить номера телефонов и условия без нарушения существующего кода.