Hente objekter ud fra en listbox
Jeg har to listbokse i en dialog og nogle [Add >>] og [remove <<] knapper. Det der sker når man bruger knapperne er at man kan kopiere items i den ene listbox (A) over i den anden listbox (B) og fjerne dem fra B igen.Når man så har udfyldt liste B til sin tilfredsstilelse så vil jeg gerne have de objekter ud, som jeg har fyldt på, men også med deres egen type.
Altså fx add ser således ud:
B.items.Add(A.items.selecteditem);
Listen a bliver udfyldt med objekter af egne klasser, når dialogen åbens:
myClass anObject = new myClass();
A.items.Add(anObject);
Jeg vil så gerne kunne håndtere de myClass'es der er havnet i liste B med følgende:
foreach(myClass anObject in B.items)
anObject.DoSomething();
Men så får jeg fejl:
An unhandled exception of type 'System.InvalidCastException' occurred in D20.exe
Additional information: Specified cast is not valid.
Dvs cast fra B.items (som er af typen Object) til myClass kan ikke gennemføres. Jeg har prøvet at lave cast:
foreach(object anObject in B.items)
{
myClass aMyClass = (myClass)anObject;
aMyClass.DoSomething();
}
Men det giver samme fejl.
Hvordan får jeg vendt et element i items-listen til myClass objekter?
PS. Jeg kunne godt lave en selvstændig liste (myClass[]) som blev ajourført sammen med liste B, men jeg vil gerne undgå den slags redundans.
