Как реализовать событие отмены в C#

Я знаю, что в C#, существуют несколько созданные в событиях, которые передают параметр ("Отмена"), которая, если установлено на истинный остановит дальнейшее выполнение в объекте, который сгенерировал событие.

Как Вы реализовали бы событие, где повышающий объект смог отслеживать свойство в EventArgs?

Вот пример WinForms того, что я пытаюсь сделать:
http://msdn.microsoft.com/en-us/library/system.componentmodel.canceleventargs.cancel.aspx

Спасибо.

20
задан Sako73 2 March 2010 в 20:56
поделиться

3 ответа

Это очень просто.

private event _myEvent;

// ...

// Create the event args
CancelEventArgs args = new CancelEventArgs();

// Fire the event
_myEvent.DynamicInvoke(new object[] { this, args });

// Check the result when the event handler returns
if (args.Cancel)
{
    // ...
}
16
ответ дан 30 November 2019 в 00:13
поделиться

Вы должны дождаться вызова, вызывающего событие, а затем проверить флаг в своем EventArgs (в частности, CancelEventArgs).

0
ответ дан 30 November 2019 в 00:13
поделиться

Легко:

  1. Создайте экземпляр CancelEventArgs (или свой собственный тип).
  2. Вызвать событие, передав этот экземпляр.
  3. Проверьте свойство «Отменено» на [1].

Вам нужны образцы кода?

2
ответ дан 30 November 2019 в 00:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: