Perché fa questo lavoro:elenco delle interfacce vs. Elenco di tipo derivato - Impossibile convertire Espressione Tipo di ritorno Tipo di
public IList<ICoupon> GetCouponsForSite(string siteSlug)
{
var coupons = _db.Coupons.Where(x => x.Site.slug == siteSlug)
.Select(x => new Coupon(x.id));
var list = new List<ICoupon>();
foreach (var coupon in coupons)
{
list.Add(coupon);
}
return list;
}
Ma questo non funziona (errore - non può convertire il tipo espressione al tipo di ritorno):
public IList<ICoupon> GetCouponsForSite(string siteSlug)
{
return _db.Coupons.Where(x => x.Site.slug == siteSlug)
.Select(x => new Coupon(x.id)).ToList();
}
c'è un ToList() in là ... – Martin
Siamo spiacenti, non ha visto questo. Rendi la dichiarazione di ritorno 'var x = _db ...;' quindi 'restituisci x'. Passa il mouse sopra 'var x' per vedere che tipo VS pensa che sia. –
impossibile convertire il tipo di espressione Elenco per restituire il tipo IList –
Martin