Я видел различные примеры обработки событий. Вот один из них: Пример события.
Иногда я вижу делегата, объявленного вне класса, который поднимет событие (как в ссылке выше), а иногда и внутри (где я думаю, что он должен быть объявлен).
Мне больше смысла объявлять событие внутри класса, которое поднимет это событие. Причина в том, что событие, объявленное классом, на самом деле является лишь некоторым покрытием сахара для вспомогательных методов и т.д., Которые действительно выполняют добавление, вычитание и вызов делегата и т.д.
Есть ли лучшие практики? Могут ли времена, когда вы хотите объявить делегата за пределами, и в другие моменты, когда вы хотите объявить делегата внутри? Если да, то как следует решить, что делать?