I have used extension methods to extend html helpers to make an RSS repeater:
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;
}
So I make one of my business objects implement IRSSable, and try to pass this to the HTML helper. But I just cannot seem to make it work, I have tried:
<%=Html.RSSRepeater(ViewData.Model.GetIssues(null, null, "") as IEnumerable<IRSSable>) %>
Compiles fine, but null is passed
<%=Html.RSSRepeater(ViewData.Model.GetIssues(null, null, "")) %>
Intellisense moans about not being able to pass IEnumerable issue to IEnumberable IRSSable
- So how do you do it? That method I am calling definitly returns
IEnumberable<Issue>
and Issue definitly implements IRSSAble