Por qué funciona esto:lista de interfaces vs Lista de tipo derivado - No se puede convertir tipo de expresión para devolver Tipo
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;
}
Pero esto no funciona (error - no puede convertir el tipo de expresión para volver tipo):
public IList<ICoupon> GetCouponsForSite(string siteSlug)
{
return _db.Coupons.Where(x => x.Site.slug == siteSlug)
.Select(x => new Coupon(x.id)).ToList();
}
hay una .ToList() en allí ... – Martin
lo sentimos, no vio eso. Haga la declaración return 'var x = _db ...;' then 'return x'. Desplácese sobre 'var x' para ver qué tipo de VS cree que es. –
no se puede convertir el tipo de expresión Lista para devolver el tipo IList –
Martin