Я использовал методы расширения для расширения помощников HTML, чтобы сделать репитер RSS:
public static string RSSRepeater(this HtmlHelper html, IEnumerable<IRSSable> rss)
{
string result="";
foreach (IRSSable item in rss)
{
result += "<item>" + item.GetRSSItem().InnerXml + "</item>";
}
return result;
}
Итак, я заставляю один из моих бизнес-объектов реализовать IRSSable и пытаюсь передать его помощнику HTML. Но я просто не могу заставить его работать, я попробовал:
<%=Html.RSSRepeater(ViewData.Model.GetIssues(null, null, "") as IEnumerable<IRSSable>) %>
Компилируется нормально, но NULL пропущено
<%=Html.RSSRepeater(ViewData.Model.GetIssues(null, null, "")) %>
Intellisense стонет о невозможности передать IEnumerable проблему в IEnumberable IRSSable
- Так как ты это делаешь? Тот метод, который я вызываю, определенно возвращает
IEnumberable<Issue>
, а Issue определенно реализует IRSSAble