3

C# で少し錆びている

メソッドにコールバックを渡す必要があります。

void InvokeScript(string jsScript, Action<object> resultCallback);

私のクラスでは、メソッドに渡すメソッドを作成しました。

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

    }

エラー メッセージ 1:

Resco.UI.IJavascriptBridge.InvokeScript(string, System.Action<object>)' has some invalid arguments

エラー メッセージ 2:

cannot convert from 'method group' to 'System.Action<object>'

前もって感謝します

4

5 に答える 5

2

コールバックは次のようになります。

public void callback(object value)
于 2013-02-12T09:23:54.770 に答える
0

を渡すパラメーターを作成する必要がありますobject

于 2013-02-12T09:23:43.643 に答える
0

試す

Action<object> myCallBack = delegate
{
// do something here
};

    InvokeScript("some string", myCallBack);

メソッド デリゲートは値を取得しobject、値を返さない必要があります。というAction<object>ことです。私が示したように組み込みのActionデリゲートを使用するか、新しいメソッドを作成してデリゲートとして渡すことができます。

public void MyMethod(object myParameter)
{
    // do something here.
}

InvokeScript("some string", MyMethod);
于 2013-02-12T09:25:45.277 に答える
0

Action<object>デリゲートの署名に一致するメソッドを作成するか、次のようにします。

public void someMethod(object parameter) { }

それを渡すか
、ラムダを使用できます。

InvokeScript("stuff", 
    param => { 
        Blah(param); 
        MoreBlah();
    });
于 2013-02-12T09:26:20.103 に答える
0

コールバックの署名は次のようにする必要があります。

void MethodName(object parameter);

別のメソッドを作成しなくても、ラムダ式を使用することもできます。

InvokeScript(
    "some string",
    p =>
    {
        // the callback's logic
    });
于 2013-02-12T09:29:05.947 に答える