2013-05-18 4 views
1

Пожалуйста, посмотрите на следующий кодКак удалить обработчик речевого события?

SpeechRecognizer sr2 = new SpeechRecognizer(); 

...

sr2.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(sr2_SpeechRecognized); 

...

void sr2_SpeechRecognized(object sender, SpeechRecognizedEventArgs e){} 

В данном случае очень первый код показывает инициализацию распознаватель речи , второй код показывает регистрацию на обработчик событий, а третий код показывает обработчик события.

Теперь мне нужно удалить этот обработчик событий. Как я могу это сделать? Пожалуйста, помогите ..

ответ

3

Просто используйте

sr2.SpeechRecognized -= new EventHandler<SpeechRecognizedEventArgs>(sr2_SpeechRecognized); 

Поскольку метод Remove использует Delegate.Equals для проверки равенства, вам не нужно на самом деле хранить new EventHandler<SpeechRecognizedEventArgs>(sr2_SpeechRecognized); где-нибудь, а может просто сделать вызов выше, чтобы удалить обработчик.

+0

Отлично. Спасибо :) –

Смежные вопросы