eine Win Form Kombinationsfeld Items.AddRange Methode
Frage
Ich habe ein Array von Objekten, die ich versuche, auf die Items-Auflistung eines Kombinationsfeld-Steuerelement mit der AddRange Methode hinzuzufügen. Das Verfahren nimmt eine object[]
aber wenn ich es den Namen des Array übergeben, die mit einigen Werten intialized wurde, es klagt:
Die beste überladene Methode Spiel für
System.Windows.Forms.ComboBox.ObjectCollection.AddRange(object[])
hat einige ungültige Argumente.
Die Klasse, die Objekte in meinem Array definiert, ist sehr einfach:
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 }
};
das ist, wo ich versuche AddRange
zu nennen:
combobox1.Items.AddRange(actions);
und das ist die Linie, die sie über beschwert - gibt es einige Schritt, den ich diese Lage sein, bin abhanden zu tun? es funktioniert gut, wenn ich ein einfaches string[]
bin nur das Hinzufügen
Lösung
ich versuchte es, wie unten in einem .NET C # Testprojekt aus und es funktioniert gut. Der Beispielcode ist wie folgt:
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;
}
}
Sie müssen also uns sagen, wo haben Sie erklärt die Aktionen widersprechen.