문제

내 양식에 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': '메소드 그룹'에서 '문자열'으로 변환 할 수 없습니다.

도움이 되었습니까?

해결책

메소드 호출의 괄호가 누락되었습니다.

ToString()

괄호가 없으면 표현은 a 방법 그룹- 즉, 하나 이상의 과부하 메소드에 대한 참조.

다른 팁

당신은 괄호를 잊었습니다.

그것은해야한다 .ToString()

John 이것은 주제를 벗어나지만이 방법으로 추가 할 각 하위 항목으로 구성된 클래스로 전달하는 것을 고려했습니다. 그래서:

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);
            }
        }
    }
}

방금이 코드를 바로 작성하여 코드 정리가 필요할 수도 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top