Информация об изменениях

Сообщение Re[8]: Применение MulticastDelegate от 10.06.2015 3:11

Изменено 10.06.2015 3:26 Venom

Здравствуйте, Sinix, Вы писали:

Продолжу ветку another_coder и то, о чем сам хотел написать в числе прочего.
С самого начала:
> EventHandler, а не Action, если на то пошло.
Action не тащит за собой EventArgs, а для передачи данных через EventArgs, требуется наследоваться от него в виде EventArgsSmth, куда уже и ложить данные.
Что приводит к необходимости использовать костыль в виде EventArgs<T>: http://stackoverflow.com/questions/3312134/does-net-have-a-built-in-eventargst
Поэтому, проще использовать Action.
А если обернуть его в event, который "добавит инкапсюляции", не позволяя внешним классам переопределять наш Action, то становится совсем как в обычном ивенте.
Собственно, насколько я понимаю, отличия от стандартного определения через EventHandler пропадают.
Да, не совсем стандартно, зато экономит кучу кода (если часто использовать EventArgs<T>).
И дизайн гайдлайны Цвалины писались до .Net 3.5.


ЗЫ. Если есть мысли по поводу отличий реализаций события через EventHandler от Action, пишите. Вдруг я что-то упустил.
Re[8]: Применение MulticastDelegate
Здравствуйте, Sinix, Вы писали:

Продолжу ветку another_coder и то, о чем сам хотел написать в числе прочего.
С самого начала:
> EventHandler, а не Action, если на то пошло.
Action не тащит за собой EventArgs, а для передачи данных через EventArgs, требуется наследоваться от него в виде EventArgsSmth, куда уже и ложить данные.
Что приводит к необходимости использовать костыль в виде EventArgs<T>: http://stackoverflow.com/questions/3312134/does-net-have-a-built-in-eventargst
Поэтому, проще использовать Action.
А если обернуть его в event, который "добавит инкапсюляции", не позволяя внешним классам переопределять наш Action, то становится совсем как в обычном ивенте.
Собственно, насколько я понимаю, отличия от стандартного определения через EventHandler пропадают.
Да, не совсем стандартно, зато экономит кучу кода (если часто использовать EventArgs<T>).
И дизайн гайдлайны Цвалины писались до .Net 3.5 (если это его гайды, стиль похож ).


ЗЫ. Если есть мысли по поводу отличий реализаций события через EventHandler от Action, пишите. Вдруг я что-то упустил.