в дочернем, и при использовании этот метод используется как у родительского. Почему так?
                  
                  
                  
                  
                  
                  class A {
                  
                  
                      virtual public void Do()
                  
                  
                      {
                  
                  
                          Console.WriteLine("Parent");
                  
                  
                      }
                  
                  
                  }
                  
                  
                  
                  
                  
                  class B : A {
                  
                  
                     override public void Do()
                  
                  
                     {
                  
                  
                         Console.WriteLine("Child");
                  
                  
                     }
                  
                  
                  }
                  
                  
                  
                  
                  
                  List<A> list = new List<A>();
                  
                  
                  list.Add(new B());
                  
                  
                  list[0].Do(); // Вывод - parent, а должно быть child.
                  
                  
                  
                  
                  
                  Это я кратко описал проблему. Что не так?
                  
                  
                
https://dotnetfiddle.net/cIk3CS - child вызывается:)
Обсуждают сегодня