Как работает виртуальное событие? Как бы вы его переопределили? Как это будет работать? И в каких случаях вы это сделаете?
Будет ли это, например, замена ok для защищенных методов OnEvent? Итак, чтобы наследующие классы могли просто переопределить событие и поднять его напрямую? Или это будет неправильно или просто не работает?
MSDN говорит об этом:
Событие можно пометить как виртуальное событие, используя ключевое слово virtual. Это позволяет производным классам переопределять поведение события с помощью ключевого слова override. Событие, переопределяющее виртуальное событие, также может быть запечатано, что указывает, что для производных классов оно больше не является виртуальным.
Но это не сделало меня намного мудрее. Запечатанный материал очевиден.
Примечание. Я видел Как работают виртуальные события в С#?, но это было не совсем о том, как виртуальные события Работа. Скорее всего, именно этот человек получил результат, который он получил от их использования. Попытался выяснить, какие виртуальные события были из его примера и ответов, но не мог действительно понять из этого.