C# 使用win表单组合框Items.AddRange方法
我有一个对象数组,试图使用AddRange方法将其添加到组合框控件的Items集合中。该方法接受一个C# 使用win表单组合框Items.AddRange方法,c#,.net,winforms,combobox,addrange,C#,.net,Winforms,Combobox,Addrange,我有一个对象数组,试图使用AddRange方法将其添加到组合框控件的Items集合中。该方法接受一个对象[],但当我向它传递已使用某些值初始化的数组名称时,它会抱怨: System.Windows.Forms.ComboBox.ObjectCollection.AddRange(object[])的最佳重载方法匹配具有一些无效参数 定义数组中对象的类非常简单: public class Action { public string name; public int value;
对象[]
,但当我向它传递已使用某些值初始化的数组名称时,它会抱怨:
System.Windows.Forms.ComboBox.ObjectCollection.AddRange(object[])
的最佳重载方法匹配具有一些无效参数
定义数组中对象的类非常简单:
public class Action
{
public string name;
public int value;
public override string ToString()
{
return name;
}
}
and my array is declared such:
public Action[] actions = new Action[] {
new Action() { name = "foo", value = 1 },
new Action() { name = "bar", value = 2 },
new Action() { name = "foobar", value = 3 }
};
这就是我尝试调用AddRange
的地方:
combobox1.Items.AddRange(actions);
这就是它所抱怨的那条线——我是否错过了一些可以做到这一点的步骤?当我只是添加一个简单的字符串[]
时,它工作得很好。我在.NETC测试项目中试用了它,如下所示&它工作得很好。
示例代码如下所示:
public partial class Form1 : Form
{
public Action[] actions = new Action[]
{
new Action() { name = "foo", value = 1 },
new Action() { name = "bar", value = 2 },
new Action() { name = "foobar", value = 3 }
};
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
comboBox1.Items.AddRange(actions);
}
}
public class Action
{
public string name;
public int value;
public override string ToString()
{
return name;
}
}
因此,您需要告诉我们您在哪里声明了actions对象。呃,您是对的,它确实有效-我输入了错误的内容,我在错误的地方寻找解释-谢谢Ganesh