このエラーは、 'CarBootSale.CarBootSaleList'に 'GetEnumerator'のパブリック定義が含まれていないため、 'CarBootSale.CarBootSaleList'型の変数に対してforeach文を操作できないことを示しています。C#で作成しているWindowsフォームアプリケーションに問題があります。GetEnumeratorのパブリック定義がForeachステートメントに含まれていません。
私はこれを引き起こしていることを理解できないようです。
これはエラー投げているコードです:
List<CarBootSaleList> Sortcarboot = new List<CarBootSaleList>();
foreach (CarBootSale c in carBootSaleList)
{
if (c.Charity == "N/A")
{
Sortcarboot.Add(carBootSaleList);
textReportGenerator.GenerateAllReport(Sortcarboot, AppData.CHARITY);
}
}
をして、これはGetEnumeratorメソッドの定義がないと言っていますCarBootSaleListクラスです:
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;
}
foreach(CarBootSaleList c in Sortcarboot) – Phil
ここに回答があります(foreachの実装):http://stackoverflow.com/questions/10929586/what-is-the-difference-between-for-and-foreach/14812801#14812801 – polkduran
この2行は関連していますか?リスト Sortcarboot =新しいリスト(); foreach(carBootSaleList内のCarBootSale c) –