Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#回调参数_C# - Fatal编程技术网

C#回调参数

C#回调参数,c#,C#,C语言有点生疏# 我需要将回调传递给一个方法: void InvokeScript(string jsScript, Action<object> resultCallback); void InvokeScript(字符串jsScript,Action resultCallback); 在我的类中,我创建了一个传递给该方法的方法: public void callback(System.Action<object> resultCallback)

C语言有点生疏#

我需要将回调传递给一个方法:

void InvokeScript(string jsScript, Action<object> resultCallback);
void InvokeScript(字符串jsScript,Action resultCallback);
在我的类中,我创建了一个传递给该方法的方法:

        public void callback(System.Action<object> resultCallback)
    { 

    }
public void回调(System.Action resultCallback)
{ 
}
错误消息1:

Resco.UI.IJavascriptBridge.InvokeScript(string, System.Action<object>)' has some invalid arguments
Resco.UI.IJavascriptBridge.InvokeScript(string,System.Action)”具有一些无效参数
错误消息2:

cannot convert from 'method group' to 'System.Action<object>'
无法从“方法组”转换为“系统.操作”

提前感谢

您需要将参数设置为您传递的
对象

您的回调应该是:

public void callback(object value)
试一试


您可以创建一个与
操作
委托签名匹配的方法,例如

public void someMethod(object parameter) { }
然后通过它,
或者您可以使用lambda:

InvokeScript("stuff", 
    param => { 
        Blah(param); 
        MoreBlah();
    });

回调的签名应如下所示:

void MethodName(object parameter);
即使不创建单独的方法,也可以使用:

InvokeScript(
    "some string",
    p =>
    {
        // the callback's logic
    });
void MethodName(object parameter);
InvokeScript(
    "some string",
    p =>
    {
        // the callback's logic
    });