Warum funktioniert das:Liste der Interfaces vs. Liste der abgeleiteten Typ - nicht Ausdrucksart Typ konvertieren kann Zurückgeben
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;
}
Aber das funktioniert nicht (Fehler - nicht Ausdrucksart Typ zurückzukehren umwandeln kann):
public IList<ICoupon> GetCouponsForSite(string siteSlug)
{
return _db.Coupons.Where(x => x.Site.slug == siteSlug)
.Select(x => new Coupon(x.id)).ToList();
}
Es gibt eine .ToList() in dort ... – Martin
Sorry, das nicht gesehen haben. Machen Sie die return-Anweisung 'var x = _db ...;' und dann 'return x'. Bewegen Sie den Mauszeiger über das 'var x', um zu sehen, welcher Typ VS dies ist. –
kann nicht Ausdrucksart Liste konvertieren Typ IList –
Martin