c# Queue Action 使用报错

查看:169
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆