я использовал методы расширения для расширения 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>) %>
компилирует хорошо, но нуль передается
<%=Html.RSSRepeater(ViewData.Model.GetIssues(null, null, "")) %>
Intellisense стонет о не в состоянии передать IEnumerable вопрос на IEnumberable IRSSable
- Итак, как вы это делаете? Этот метод я звоню возвращает
IEnumberable<Issue>
определенно и выпуск реализует IRSSAble определенно
Не видя, что метод GetIssues делает это очень трудно сказать с уверенностью. – samjudson 2008-11-28 11:41:08