0

我有一个非 GUI 类,它生成关于它正在做什么的事件(这些事件又被表单用来向用户显示进度)。

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

这是对事件和的正确使用EventArgs吗?这种方法有问题吗?有没有做这种事情的最佳实践?

4

3 回答 3

3

这种方法非常好,甚至在 .NET Framework 中也为此提供了一个类:CancelEventArgs

于 2009-12-03T18:16:08.760 回答
1

你的想法是正确的方法。Console.CancelKeyPress 事件本质上是一回事。

Console.CancelKeyPress

于 2009-12-03T18:15:31.537 回答
1

这是一种正确的方法,只要您有自己的 EventArgs,它继承自 System.EventArgs。这很常见,我能想到的最好的例子是 PostSharp 中的 FlowBehavior。

于 2009-12-03T18:15:55.577 回答