c# Queue Action 使用报错
本文介绍了c# Queue Action 使用报错的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
private Queue<System.Action> actionQueue;
private Action OnLoginSuccess;
private Action<INError> OnLoginFailure;
void Awake () {
actionQueue = new Queue<System.Action>(1024);
}
void Start () {
OnLoginSuccess = LoginSuccess;
OnLoginFailure = LoginFailure;
}
public void GuestLogin(){
auth.Login((INSession session)=>
{
actionQueue.Enqueue(OnLoginSuccess);
},(INError error)=> {
// 弹出登录错误
actionQueue.Enqueue(OnLoginFailure (error)); //报错无法从void转换为 system.action
});
}
private void LoginSuccess(){}
private void LoginFailure(INError error){}
OnLoginSuccess没什么问题, 但是OnLoginFailure(error)报错无法从void转换为 system.action. 应该是参数的问题吧?
解决方案
虽然不知道什么用意,但是 actionQueue<Action> 指定的是Action,Enqueue进去的也一定是 Action类型的才对,要么 OnLoginFail 返回Action,要么 ()=>OnLoginFail (error) ,
这篇关于c# Queue Action 使用报错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文