Нет явного преимущества в явной реализации методов добавления / удаления, если вы не хотите делать что-то другое. Возможные причины:
- Возможно, взять контроль над кодом поддержки события самостоятельно (чтобы напрямую ссылаться на какое-то другое событие, а не идти через бессмысленный каскад, например)
- сделать что-то еще в добавлении или удалении
- Изменение требований безопасности при добавлении или удалении
- выставить нижележащий делегат
Реализация по умолчанию поддерживает частное скрытое поле делегата, которое заменяется при каждом добавлении или удалении делегата. В большинстве случаев нет необходимости делать что-либо из перечисленного, но есть гибкость.