C# Foreach statement does not contain public definition for GetEnumerator -
i'm having problem windows form application i'm building in c#. error stating "foreach statement cannot operate on variables of type 'carbootsale.carbootsalelist' because 'carbootsale.carbootsalelist' not contain public definition 'getenumerator'".
i can't seem understand causing this.
this code throwing error:
list<carbootsalelist> sortcarboot = new list<carbootsalelist>(); foreach (carbootsale c in carbootsalelist) { if (c.charity == "n/a") { sortcarboot.add(carbootsalelist); textreportgenerator.generateallreport(sortcarboot, appdata.charity); } } and carbootsalelist class it's saying there isn't getenumerator definition:
public class carbootsalelist { private list<carbootsale> carbootsales; public carbootsalelist() { carbootsales = new list<carbootsale>(); } public bool addcarbootsale(carbootsale carbootsale) { bool success = true; foreach (carbootsale cbs in carbootsales) { if (cbs.id == carbootsale.id) { success = false; } } if (success) { carbootsales.add(carbootsale); } return success; } public void deletecarbootsale(carbootsale carbootsale) { carbootsales.remove(carbootsale); } public int getlistsize() { return carbootsales.count(); } public list<carbootsale> returnlist() { return carbootsales; } public string display() { string msg = ""; foreach (carbootsale cbs in carbootsales) { msg += string.format("{0} {1}", cbs.id, cbs.location, cbs.date); msg += environment.newline; } return msg; }
your carbootsalelist class not list. class contain list.
you have 3 options:
make carbootsalelist object implement ienumerable
or
make carbootsalelist inherit list<carbootsale>
or
if lazy same thing without coding
list<list<carbootsale>>
Comments
Post a Comment