使用调用时出现"Method Name Expected"错误 C#



我正在尝试让一个线程在 Win Forms 应用程序中将信息返回到"JobViews"。但是在调用调用时,我收到"预期方法名称"错误。

这是我当前的代码,

    public void initJobListViews_DoWork(string IP, int Port)
    {
        initJobListViews();
        bool JobString = fillJobViews(IP, Port);
    }
    public void SocketClientReturn(string IP, int Port)
    {
        if (this.InvokeRequired)
        {
            this.Invoke(new SocketClientReturnDelegate(initJobListViews_DoWork(IP, Port)));
/// this.Invoke(new SocketClientReturnDelegate(initJobListViews_DoWork(IP, Port),null));
// Also complains 
        }
        else
        {
            initJobListViews_DoWork(IP, Port);
        }
    }
private delegate void SocketClientReturnDelegate();

我也尝试了以下方法,

    public void initJobListViews_DoWork(string IP, int Port)
    {
        initJobListViews();
        bool JobString = fillJobViews(IP, Port);
    }
    public void SocketClientReturn(string IP, int Port)
    {
        if (this.InvokeRequired)
        {
            this.Invoke(new SocketClientReturnDelegate(initJobListViews_DoWork));
        }
        else
        {
            initJobListViews_DoWork(IP, Port);
        }
    }
private delegate void SocketClientReturnDelegate(string IP, int Port);

这在编译过程中不会产生任何问题,但程序在运行时会抛出"TargetParameterCountException"。

以前使用过这种技术没有问题,我有点困惑为什么这次失败了??

您的Invoke期待委托,而您正在调用函数执行此操作,

 this.Invoke(new SocketClientReturnDelegate(initJobListViews_DoWork),new object[]{IP, Port});

最新更新