2009-12-03 1 views
0

У меня есть класс без GUI, который генерирует события относительно того, что он делает (которые, в свою очередь, используются Формой для отображения пользователю прогресса).Проблемы с или лучшие методы для передачи данных через eventargs?

Одним из событий является AboutToDoSomethingDestructiveEvent. Теперь мы хотим, чтобы форма отображала диалог пользователю, когда AboutToDoSomethingDestructiveEvent поднят, спрашивая, хотят ли они, чтобы SomethingDestructive произошел. Если они выберут no, тогда мы установим значение для клиента EventArgs, и первоначальная форма будет читать это значение, а затем пропустить SomethingDestructive.

Правильное использование событий и EventArgs? Существуют ли проблемы с этим подходом? Есть ли какие-то лучшие практики для такого рода вещей?

ответ

3

подход настолько хороша, есть даже класс в .NET Framework для этого: CancelEventArgs

+2

Угу. Создание собственного 'EventArgs', которое расширяет« CancelEventArgs », было бы очень хорошим решением, я думаю :) – Svish

1

Это правильный подход, до тех пор, пока у вас есть свои собственные EventArgs, которые наследуют от System.EventArgs. Это очень часто, лучший пример, который я могу представить, - это PostSharp с FlowBehavior.