Typecasting af custom class
Hej EksperterJeg forstår ikke helt at når jeg caster en custom Child class til dens base class, så forbliver typen Child class, men når jeg caster f.eks. en double til int32 så bliver den en int32, som forventet.
Jeg har i nedenstående eksempel oprettet en ParentClass, og en ChildClass som arver fra ParentClass og så forsøger jeg at caste ChildClass til ParentClass:
ChildClass Child = new ChildClass();
Console.WriteLine(Child.GetType()); //ChildClass
ParentClass Parent = (ParentClass)Child;
Console.WriteLine(Parent.GetType()); //ChildClass
Jeg havde forventet at den sidste gav ParentClass pga. casting'en - men nej.
Hvis jeg derimod gør det samme med Int32 og Double:
double MyDouble = 123.45;
Int32 MyInt = (Int32)MyDouble;
Console.WriteLine(MyInt.GetType()); //Int32 - som forventet.
Hvordan forklares denne forskel?