INT到字符串:无法从“方法组”到“字串”(闭合)转换
题
我有我的形式一个ListView。我要的东西给它添加durring程序运行。
这是我使用的代码
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()
约翰这是题外话,但你用这种方法考虑由各个子项中添加的一个类来传递。所以:
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);
}
}
}
}
我刚刚写了这个代码直所以有可能需要进行一些代码清理
不隶属于 StackOverflow