我有这个代码。
recognizer.SpeechRecognized +=
new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);
static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
if (e.Result != null && e.Result.Text != null)
{
Console.WriteLine(" Recognized text = {0}", e.Result.Text);
File.WriteAllText("text/text.txt", e.Result.Text);
}
else
{
Console.WriteLine(" Recognized text not available.");
}
}
我想在我的代码中添加一个要添加的参数,例如myData将在函数中显示,以便我也可以使用文本进行打印。
答案 0 :(得分:0)
修改方法以接受您实际需要的参数:
static void recognizer_SpeechRecognized(
SpeechRecognizedEventArgs e, string myData)
然后使用lambda来分配事件处理程序,传递适当的参数,并关闭你拥有的任何数据:
string myData = "hello world";
recognizer.SpeechRecognized +=
(s, args) => recognizer_SpeechRecognized(args, myData);
答案 1 :(得分:0)
您可以考虑将myData
作为具有此处理程序的类中的字段。并使这个处理程序非静态。
我不建议乱砍你的方式并通过处理程序传递myData
。