拡張メソッドを使用して 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;
}
そこで、ビジネス オブジェクトの 1 つに 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を実装しています