J'ai utilisé des méthodes d'extension pour étendre les aides html pour faire un répéteur RSS:Passing Interface en tant que paramètre à une méthode d'extension
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;
}
Alors je fais un de mes objets métier outil IRSSable, et essayer de transmettre cette à l'aide HTML. Mais je ne peux pas sembler le faire fonctionner, j'ai essayé:
<%=Html.RSSRepeater(ViewData.Model.GetIssues(null, null, "") as IEnumerable<IRSSable>) %>
Compile bien, mais nul est passé
<%=Html.RSSRepeater(ViewData.Model.GetIssues(null, null, "")) %>
IntelliSense se plaint de ne pas pouvoir passer question IEnumerable à IEnumberable IRSSable
- Alors, comment faites-vous? Cette méthode, je fais appel retourne
IEnumberable<Issue>
et definitly Edition implémente definitly IRSSAble
Sans voir ce que la méthode GetIssues fait, il est très difficile de dire avec certitude. – samjudson