无法在dispatcher.invoke中传递参数

时间:2012-03-16 05:45:55

标签: c# vb.net invoke

我需要将以下 VB Form 代码转换为 WPF C#

// VB
Me.Invoke(New FooDelegate(AddressOf Foo), New Object() {cmd})

Foo只是一个采用字符串参数cmd的方法。

我在WPF C#中尝试了以下所有内容,但都给了我例外:

//C#
dispatcher.Invoke(new FooDelegate(Foo()), cmd);
dispatcher.Invoke(new FooDelegate(Foo(cmd)), cmd); 
dispatcher.Invoke(new FooDelegate(Foo()), new object() {cmd});

格式正确的是什么?

1 个答案:

答案 0 :(得分:4)

您正在使用()调用函数而不是获取其地址。除非ProcessCommandS返回函数,否则它应该是:

dispatcher.Invoke(new ProcessCommandDelegate(ProcessCommandCT), cmd);