Нет, ваш ответ в общем случае неверен.
В C# есть два (*) способов объявить виртуальный метод:
virtual Foo Method1()
Или
abstract Foo Method2()
В первом случае, это является обязательным, что метод имеет свое собственное тело реализации блок (или его собственный член функции с выражением). Во втором - наоборот, это не обязательно. Бывший может быть переопределенным в производных классах, последний должен быть переопределен в не абстрактных производных классах. Наконец, но не в последнюю очередь, подавляющее большинство виртуальных методов имеют прежнюю форму.
(*) пуристы могут утверждать, что члены интерфейса также являются виртуальными методами (точнее, виртуальным окончанием), но я проигнорирую проблему, поскольку она не изменяет ответ.
Он может иметь свою собственную реализацию, но вы можете перезаписать его –
Пожалуйста, прочтите справочный центр. http://stackoverflow.com/help – Lexi
Почему бы не провести исследование и проверить спецификацию C#? в частности, раздел 1.6.6.4 – Fran