Да, вы можете достичь такого же эффекта с событиями, как вы можете с частичными методами.Частичные методы - это на самом деле просто способ, позволяющий генераторам кода, в первую очередь дизайнерам, генерировать хуки для не сгенерированного кода.События могут заполнить эту роль.
Однако у частичных методов есть преимущества перед событиями, в частности
- Частичные вызовы методов полностью удаляются из сгенерированного IL, если нет реализации.Это не может быть сделано с событиями.
- Конструкция частичных методов состоит в том, чтобы решить проблему, когда есть 1 поставщик крючка и 1 потребитель.События предназначены для провайдера модели 1 с N потребителями и накладными расходами, которые идут с таким дизайном
- Нет проблем с заказом (кто идет первым).В случае событий вы должны убедиться, что код, который подписывается на событие, запускается до того, как дизайнер сгенерирует код, который вызывает событие.Это не всегда возможно, если, скажем, дизайнер генерирует конструктор.Частичные методы не имеют такой проблемы.