2012-03-16 25 views
0

我将需要以下VB窗体代码转换为WPF C#参数:不能通过在dispatcher.invoke

// 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}); 

什么是正确的格式?

回答

4

您正在调用()的功能,而不是创建其地址。除非ProcessCommandCT返回函数,否则它应该是这样的:

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