ошибка foreach: не может работать с типом, потому что он не содержит общедоступного определения для GetEnumerator - PullRequest
0 голосов
/ 28 августа 2018

Я получаю ошибку, связанную с foreach, которая гласит:

Оператор Foreach не может работать с типом '', поскольку он не содержит общедоступного определения для GetEnumerator.

Я не понимаю, что делать с этой ошибкой. Пожалуйста, предложите внести изменения, чтобы улучшить и исправить ошибку в коде.

public partial class Form1 : Form
{
     store store = new store();
    public List<item> insert= new List<item>();//this is the list of second list items


    BindingSource itemslist = new BindingSource();
    BindingSource selectitem2 = new BindingSource();
    public Form1()
    {
        InitializeComponent();
        setupdata();
        itemslist.DataSource = store.items;
        item.DataSource = itemslist;//linked between the two
        // what to print inside
        item.DisplayMember = "Display";
        item.ValueMember = "Display";
        //put the data to the selected item list
        selectitem2.DataSource=insert;
        selected_item.DataSource = selectitem2;

        selected_item.DisplayMember = "Display";
        selected_item.ValueMember = "Display";

    }


    private void purchase_Click(object sender, EventArgs e)
    {
        foreach (item item in selected_item)
        {

        }
    }
}

1 Ответ

0 голосов
/ 28 августа 2018

вы не можете перебрать элемент управления (ListBox). У него нет перечислителя, как сообщается в сообщении об ошибке. Вам нужно перебрать сбор данных.

В вашем случае это будет insert

поэтому измените строку цикла следующим образом:

foreach (item item in insert)

Вы можете, конечно, пройти через Items из ListBox:

foreach (item item in selected_item.Items)

EDIT:

Кроме того, ваш шаблон именования, откровенно говоря, довольно запутанный. selected_item звучит не так, как если бы он представлял совокупность вещей, а скорее одну сущность.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...