我正在编写以下代码
SpeechRecognizer sr2 = new SpeechRecognizer();
...
sr2.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(sr2_SpeechRecognized);
...
void sr2_SpeechRecognized(object sender, SpeechRecognizedEventArgs e){}
这里第一段代码显示了语音识别器的初始化,第二段代码显示了注册到事件处理程序,第三段代码显示了事件处理程序。
现在,我需要删除这个事件处理程序。我该怎么做?
最佳答案
就用
sr2.SpeechRecognized -= new EventHandler<SpeechRecognizedEventArgs>(sr2_SpeechRecognized);
自 Remove
方法使用 Delegate.Equals
要检查相等性,您不需要实际存储 new EventHandler<SpeechRecognizedEventArgs>(sr2_SpeechRecognized);
任何地方,并且可以简单地进行上面的调用以删除处理程序。
关于c# - 如何删除语音事件处理程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16626611/