0

エラー: メソッドdestroyAfterCBEvent' takes0' 引数のオーバーロードがありません

上記の問題の解決策は何ですか?

Chartboost.CBManager.didFailToLoadInterstitialEvent += destroyAfterCBEvent();

void destroyAfterCBEvent (string location)
{
    Debug.LogError ("CB Event failed, noads button destroyed");
    Destroy (gameObject);
 }

これらは、使用され、エラーを生成するコードです..

4

1 に答える 1

0

実際にメソッド グループ変換を使用して、イベントをサブスクライブするデリゲートを作成する場合は、 を呼び出し ています。destroyAfterCBEvent括弧を外す必要があります (これがメソッド呼び出しになります)。あなたがしたい:

Chartboost.CBManager.didFailToLoadInterstitialEvent += destroyAfterCBEvent;

これは次と同等です:

Chartboost.CBManager.didFailToLoadInterstitialEvent +=
    new Action<string>(destroyAfterCBEvent);

またはあなたのコメントによると:

Chartboost.CBManager.didFailToLoadInterstitialEvent +=
    new GUIClickEventReceiver(destroyAfterCBEvent);

Chartboostのドキュメントを考えると、後者は私を驚かせます。)

余談ですが、通常の .NET 命名規則に従うようにコードを変更することをお勧めします。イベントとメソッドは両方とも PascalCased にする必要があります。通常、イベントには と互換性のあるデリゲートEventHandlerも必要です。(私は ChartBoost について何も知らないので、これらの問題のいくつかはあなたとは関係がない可能性があります... しかし、メソッド名は間違いなくあなたが修正できるものです。)

于 2014-05-21T05:54:41.600 に答える