Задать вопрос
Ответы пользователя по тегу C#
  • Почему C# не позволяет делать Downcast от родителя к потомку?

    Alexeee
    @Alexeee
    Разработчик игр
    Странно, что здесь не написали следующее:
    class People { public string name; }
    class Person : People { public uint id; }
    
    static void Main(string[] args)
    {
    
            People jack = new Person { name = "Jack" }; // Upcast
            Person jack_passport = (Person)jack;  // Downcast
    
    }


    Чтобы была возможность делать Downcast, нужно сначала сделать Upcast.
    По идее, такой код должен работать, но я не уверен, что это нужно было автору.
    Ответ написан
    Комментировать