无法在dispatcher.invoke中传递参数

本文关键字:参数 invoke dispatcher | 更新日期: 2023-09-27 18:27:54

我需要将以下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});

什么是正确的格式?

无法在dispatcher.invoke中传递参数

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

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