Pregunta

Tengo una clase no GUI que genera eventos en cuanto a lo que está haciendo (que a su vez se utiliza por una forma de mostrar al usuario el progreso).

Uno de los eventos es una AboutToDoSomethingDestructiveEvent. Ahora queremos tener la forma de la pantalla un cuadro de diálogo al usuario cuando se eleva AboutToDoSomethingDestructiveEvent, preguntándoles si les gustaría SomethingDestructive a suceder. Si se selecciona NO, entonces podríamos establecer un valor en el EventArgs cliente y la forma original leeríamos ese valor y luego saltar haciendo SomethingDestructive.

Es este un uso adecuado de Eventos y EventArgs? ¿Hay problemas con este enfoque? ¿Hay mejores prácticas para hacer este tipo de cosas?

¿Fue útil?

Solución

El enfoque es tan bueno hay incluso una clase de .NET Framework para esto: CancelEventArgs

Otros consejos

La forma en que está pensando es la forma correcta de hacerlo. El evento Console.CancelKeyPress es esencialmente la misma cosa.

Console.CancelKeyPress

Este es un enfoque adecuado, siempre y cuando usted tiene sus propios EventArgs, que están heredando de System.EventArgs. Es muy común, el mejor ejemplo que puedo pensar es en PostSharp con el FlowBehavior.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top