错误:操作委托"并非所有路径返回值"

时间:2014-10-03 03:37:42

标签: c# wpf multithreading

我试图用单个参数调用一个函数。我想通过Action Delegate调用它,但收到错误消息"并非所有代码路径都返回值"。

我试过了,我能用无参数功能做到这一点。我

{
 .... //Getting string from the selected item in ListBox.
 Dispatcher.BeginInvoke(new Action<string>(displayText(myTextBlock.Text)));  
 }

private Action<string> displayText(string p)
    {
        MessageBox.Show(p);
    }

你能帮帮我吗。

2 个答案:

答案 0 :(得分:1)

如果displayText只显示MessageBox,则不需要返回任何内容:

Dispatcher.BeginInvoke(new Action(() => displayText(myTextBlock.Text)));

private void displayText(string p)
{
    MessageBox.Show(p);
}

答案 1 :(得分:0)

您的displayText声明表明它接受一个字符串并返回一个Action。编译器期望您在该函数中返回一个Action,但您只需显示一个消息框。将该返回类型更改为void将删除编译器错误,如果您打算执行的操作都显示消息框。