Mam dwie klasy: klasaA i klasaB, przy czym klasaB dziedziczy z klasaA.
Następnie deklaruję obiekt klasy A.
klasaA k1 = new klasaA();
i chcę zrobić rzutowanie:
klasaB btest= k1;
to wyskakuje błąd
Error 2 Cannot implicitly convert type 'usingdll.Form1.klasaA' to 'usingdll.Form1.klasaB'. An explicit conversion exists (are you missing a cast?) E:\visual studio projects\projects\mydll\usingdll\Form1.cs 130 30 usingdll
co w moim rozumieniu znaczy, że potrzebne jest jawne (explicit) rzutowanie.
A kiedy rzutuję jawnie:
klasaB btest= (klasaB)k1;
to kompiluje się kod, ale kiedy dochodzi do linijki rzutowania, występuje
"błąd rzutowania".
Czy ktoś mi wytłumaczy co się dzieje wewnątrz takiego rzutowania, że się nie udaje?
Jak to rzutowanie przebiega wewnątrz klasy? Bardzo proszę o odpowiedzi.