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 回答