får fejl med ToArray

Tags:    c#


Hej, når jeg kalder følgende kode, får jeg fejl, vil være en stor hjælp hvis nogen kan finde ud af hvorfor?

jeg har lavet en sublist som tilføjer alle datoerne en person har.
og dernæst en metode ToArry til at udskrive dem


public List<DateTime> sublistNavne = new List<DateTime>();

public DateTime[] datoer_makeDatoSublist(string navn)
{
foreach (Reservering en_reservering in reserveringsliste)

if (en_reservering.PropertyReserveringsnavn == navn)


{
sublistNavne.Add(en_reservering.PropertyDato);

}

return sublistNavne.ToArray();
}

men får disse fejl:
Error 4 The best overloaded method match for 'System.Windows.Forms.ListBox.ObjectCollection.AddRange(System.Windows.Forms.ListBox.ObjectCollection)' has some invalid arguments
Error 5 Argument '1': cannot convert from 'System.DateTime[]' to 'System.Windows.Forms.ListBox.ObjectCollection'

når jeg kalender dem i min wondows form

private void button8_Click(object sender, EventArgs e)
{
Reservering r1 = new Reservering("silas", new DateTime(2008, 04, 22));
Reservering r2 = new Reservering("kurt", new DateTime(2008, 04, 23));
Reservering r3 = new Reservering("Peter", new DateTime(2008, 04, 24));
Flaske f1 = new Flaske(r1, "ok", 43);
f1.addReservartion(r2);
f1.addReservartion(r3);

f1.datoer_makeDatoSublist("kurt");

listBox2.Items.AddRange(f1.datoer_GetAllDatoSublist ());


}



3 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 8 karma
Sorter efter stemmer Sorter efter dato


Hej Silas,

Mangler lidet Reservering og Flaske for at kunne se alt.

listBox2.Items.AddRange(f1.datoer_GetAllDatoSublist ());

Det er den linje der giver problemet.
f1.datoer_GetAllDatoSublist () returnerer ikke noget som kan indsættes i en AddRange.

Med venlig hilsen
Ieet





Det er ikke muligt at se i din kode, hvad datoer_GetAllDatoSublist returnerer, men listbox.Items.AddRange tager imod et object[] ikke DateTime[], hvis det er det du prøver.



hej, har fundet frem til at LINQ løser problemet

listBox2.Items.AddRange(f1.datoer_GetAllDatoSublist().Cast<object>().ToArray());



min GetAlDatoSublist retunerer bare et array
public DateTime[] datoer_GetAllDatoSublist()
{
return sublistNavne.ToArray();

}
Men i løste det jeg spurgte om, nemlig at finde ud af hvorfor den lavede fejl, så jeg giver points




t