Hej, jag har två klasser, klass1 och klass2. klass2 ärver klass1. Det beror nog på hur objekten skapas. En variabel av klass1 kan referera till objekt av typerna klass1 och klass2. Om en variabel av typ klass1 refererar till ett object av typ klass2 så kan den castsas till en variabel av typ klass2. Om varibeln av typ klass1 refererar till ett objekt av typ klass1, så kan den INTE castas till en variabel av typ klass2. Hej Förstår inte riktigt vad det är du tänker göra, men kan du inte beålla Class1[] och casta elementen till Class2 när du använder dom?Problem med casting och arv.
i klass1 har jag en metod som heter LoadAll() och returnerar klass1[] i klass2 försöker jag casta klass1[] till klass2[] men den säger att det inte går, däremot har jag en funktion som heter Load() som skickar tillbaka klass1 och den går utmärkt att casta till klass2. Vad kan det vara.
Fungerar att köra .CopyTo på den klass1[] som man får tillbaka, men det känns lite som en prestanda förslust och fullösning.Sv: Problem med casting och arv.
Sv:Problem med casting och arv.
i till LoadAll funktionen så skickar jag med en parameter som heter itemTemplate vilket motsvarar den klassen man vill att den ska hämta i detta fall klass2 och kör sedan:
klass1 itemCopy = (klass1)itemTemplate.MemberwiseClone();
och allt lagras i en List<klass1>Sv: Problem med casting och arv.