2009-12-03 24 views
0

我有一个非GUI类,生成关于它在做什么的事件(它们又被一个Form用来向用户显示进度)。通过eventargs传回数据的问题或最佳做法?

其中一个事件是AboutToDoSomethingDestructiveEvent。现在,我们希望当AboutToDoSomethingDestructiveEvent被引发时,表单会向用户显示一个对话框,询问他们是否想要SomethingDestructive发生。如果他们选择否,那么我们将为客户EventArgs设置一个值,原始表单将读取该值,然后跳过SomethingDestructive

这是正确使用事件和EventArgs?这种方法有问题吗?有没有什么最佳做法做这种事情?

回答

3

的方法是好有在.NET Framework甚至是类这样的:CancelEventArgs

+2

是啊。创建你自己的'EventArgs'来扩展'CancelEventArgs'将会是一个非常好的解决方案,我认为:) – Svish 2009-12-03 18:19:05

1

这是正确的做法,只要你有自己的EventArgs,这是从System.EventArgs继承。这是非常普遍的,我能想到的最好的例子是在PostSharp中使用FlowBehavior。