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

"Method Name Expected" error C# when using invoke

我正在尝试在 Win Forms 应用程序中获取 return 信息到 "JobViews" 的线程。但是在调用调用时我收到 "Method Name Expected" 错误。

这是我当前的代码,

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