Polymorphism in C# makes no sense - C#