Подтвердить что ты не робот

Int to string: невозможно преобразовать из 'group метода' в 'string'

У меня есть listView в моей форме. Я хочу добавить к нему материал, запустив программу.

Это код, который я использую

public void FillList(string[] Name,int[] empty,int[] Population,int[] Max,int[] Check,int size)
{
    if (this.InvokeRequired)
    {
        this.Invoke((MethodInvoker)delegate
        {
            for (int i = 0; i < size; i++)
            {
                ListViewItem item = new ListViewItem(Name[i]);

                item.SubItems.Add(empty[i].ToString); //error
                item.SubItems.Add(Population[i].ToString); //error
                item.SubItems.Add(Max[i].ToString);   //error

                if (Check != 1)
                    item.SubItems.Add("No");
                else
                    item.SubItems.Add("Yes");
                listView1.Items.Add(item);
            }
        });
    }
}

параметр должен быть строкой, и я попробовал .ToString, но получаю следующее:

Аргумент '1': невозможно преобразовать из 'группы методов' в 'string'

4b9b3361

Ответ 1

Вы пропускаете круглые скобки:

ToString ()

Ответ 2

Вы забыли скобки.

Это должно быть .ToString()

Ответ 3

Джон это не в тему, но вы рассмотрели этот метод для перехода в класс, состоящий из каждого добавляемого дополнительного элемента. Итак:

class ListItem 
{
 public string Name {get; set;}
 public int Empty {get; set;}
 public int Population {get; set;}
 public int Max {get; set;}
 public bool Checked {get; set;}
} 

Таким образом, вам нужно будет иметь каждый из элементов в массивах, проходящих в очереди. Попытка выстраивать позиции во многих массивах часто затрудняет использование интерфейсов. Ваш метод будет выглядеть как

FillList(IList<ListItem> listItems)
{
if (this.InvokeRequired)
    {
        this.Invoke((MethodInvoker)delegate
        {
            foreach (ListItem listItem in listItems)
            {
                ListViewItem item = new ListViewItem(listItem .Name);

                item.SubItems.Add(listItem.Empty.ToString());
                item.SubItems.Add(listItem.Population.ToString());
                item.SubItems.Add(listItem.Max.ToString());

                item.SubItems.Add(listItem.Checked ? "No" : "Yes");

                listView1.Items.Add(item);
            }
        }
    }
}

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