Если определение метода содержит модификатор Override, это означает что данный метод переопределяет реализацию унаследованного виртуального метода базового класса.
Метод, переопределяемый декларацией переопределенного метода, называется базовой реализацией этого метода. Для переопределенного метода M класса C базовая реализация определяется путем анализа всех базовых классов C, начиная с родительского в порядке иерархии наследования, до тех пор пока не будет найден доступный метод с сигнатурой аналогичной M.
Для успешной компиляции переопределенного метода необходимо выполнение всех последующих условий:
Базовая реализация переопределенного метода может быть найдена с помощью приведенной выше процедуры.
Базовая реализация является виртуальным, абстрактным или переопределенным методом. Базовая реализация не может быть статическим или невиртуальным методом.
Базовая реализация не является завершенным методом.
Базовая реализация и переопределенный метод имеют одинаковый тип возвращаемого значения.
Базовая реализация и переопределенный метод имеют одинаковый задекларированный уровень доступа, переопределенный метод не может изменять видимость виртуального метода. В случае если базовая реализация определена с уровнем доступа «родовой сборочный» и переопределенный метод находится в другой сборке, то он должен быть определен с родовым уровнем доступа.
Пример переопределения методов приведен в описании виртуальных методов.
См.также: