1

Тема: Чому делегат не працює, а Action працює?

Привіт. В мене є от такий код

void CreateUser(string userName, string pwd, string email, List<string> roles)
    {
        _userService.CreateUser(userName, pwd, email, roles, new CreateUserCallBack(CreateScore));
    }

class CreateUserCallBack : App42CallBack
    {
        private Action<string, string, double> _callBack;

        public CreateUserCallBack(Action<string, string, double> callBack)
        {
            _callBack = callBack;
        }

        public void OnSuccess(object response)
        {
            User user = (User) response;

            if(_callBack!=null)
                _callBack("MazeBattleGame", user.GetUserName(), 20);
        }

        public void OnException(Exception ex)
        {
            Debug.LogError("Exception: "+ex);
        }
    }

і він працює норм, але якщо я заміню Action на делегат

public delegate void SaveScoreDelegate(string gameName, string userName, double score);

void CreateUser(string userName, string pwd, string email, List<string> roles)
    {
        _userService.CreateUser(userName, pwd, email, roles, new CreateUserCallBack(CreateScore));
    }

class CreateUserCallBack : App42CallBack
    {
        private SaveScoreCallBack _callBack;

        public CreateUserCallBack(SaveScoreCallBack callBack)
        {
            _callBack = callBack;
        }

        public void OnSuccess(object response)
        {
            User user = (User) response;

            if(_callBack!=null)
                _callBack("MazeBattleGame", user.GetUserName(), 20);
        }

        public void OnException(Exception ex)
        {
            Debug.LogError("Exception: "+ex);
        }
    }

то воно матюкається ось так ось
http://puu.sh/tx6dE/8d399feff7.png
http://puu.sh/tx6fz/c6b2a7dcab.png

тут спілкуються українці, про політику, і інше (серед них є програмісти, але дуже мало, тому не заходьте туди лише з питаннями про програмування)
https://discord.gg/Zk29v4P

2 Востаннє редагувалося FakiNyan (24.01.2017 00:26:18)

Re: Чому делегат не працює, а Action працює?

все-все, розібрався, тре було передавати екземпляр делегату з методом в якості аргументу, а не просто метод

тут спілкуються українці, про політику, і інше (серед них є програмісти, але дуже мало, тому не заходьте туди лише з питаннями про програмування)
https://discord.gg/Zk29v4P
Подякували: Chemist-i1