Перегрузка методов + наследование в C#
От: zelych  
Дата: 01.09.07 10:20
Оценка:
    class A {
        public virtual void F (string s)
        {
            Console.WriteLine ("A.F (string)");
        }
    }

    class B : A {
        public override void F (string s)
        {
            Console.WriteLine ("B.F (string)");
        }

        static void Main (string[] args)
        {
            new B ().F ("string");
        }
    }


Получаем: B.F (string)

Добавляем в class B:
        public void F (object s)
        {
            Console.WriteLine ("B.F (object)");
        }

Получаем: B.F (object)

Интересно, зачем это сделано и где в стандарте такое поведение описано?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.