不能隐式转换类型' bool'“空白# 39;
本文关键字:空白 bool 类型 不能 转换 | 更新日期: 2023-09-27 18:07:49
我在我的android游戏中执行google play sdk,到目前为止我已经完成了登录和排行榜部分,但添加成就给我带来了一点麻烦,因为我使用公共bool方法使我的生活更容易为未来的更新,并将成就标记为解锁。
由于某些原因,我得到这个错误:不能隐式转换类型bool' to
void'
public bool unlockAchievement(string achievementName, string achievementID) {
if(loggedIn == true) {
Social.ReportProgress(achievementID, 100.0f, (bool success) => {
return success;
});
}
else return false;
}
我想我已经解决了所有的问题,但我还是得到了这个错误。
任何帮助都是感激的。谢谢你。
编辑:看起来是这样的
public bool unlockAchievement(string achievementName, string achievementID) {
bool actionDone = false;
if(loggedIn == true) {
Social.ReportProgress(achievementID, 100.0f, (bool success) => {
if(success) actionDone = true;
else actionDone = false;
});
return actionDone;
}
else return actionDone;
}
谢谢
您的lambda是一个封闭的方法,因此返回语句的上下文是lambda方法,而不是unlockAchievement
。
你可能想重构你的代码来使用回调,例如:
public void unlockAchievement(string achievementName, string achievementID, Action<bool> callback) {
if(loggedIn == true) {
Social.ReportProgress(achievementID, 100.0f, (bool success) => {
callback(success);
});
}
else callback(false);
}