Странные исключения с нулевой ссылкой в ​​функции, которую я написал - PullRequest
2 голосов
/ 06 февраля 2012
private void GoogleTalkClient_OnMessage(object sender, jabber.protocol.client.Message msg)
    {
        connectionsNumber.Maximum = rosterManager.Count;
        if (session.Keys.Contains<string>(msg.From.Bare)){

            session.TryGetValue(msg.From.Bare,out thissession);

        }else{
            if (cleverbot.Keys.Contains<string>(msg.From.Bare)){
                cleverbot.TryGetValue(msg.From.Bare,out bot);
            }else{
                bot = factory.Create(ChatterBotType.CLEVERBOT);
                if (bot != null)
                cleverbot.Add(msg.From.Bare, bot);
            }
            thissession = bot.CreateSession();
            if (thissession != null)
            session.Add(msg.From.Bare, thissession);
        }
        connectionsNumber.Value = session.Count;
        jabber.protocol.client.Message reply = new jabber.protocol.client.Message(GoogleTalkClient.Document);
        reply.Body = thissession.Think(Grammarcheck(msg.Body));
        reply.To = msg.From;
        GoogleTalkClient.Write(reply);
    }

код C #, и он дает мне ошибки нулевой ссылки во всех инструкциях session.Add () и cleverbot.Add (), и я не могу понять, почему (cleverbot и session - словари)

1 Ответ

0 голосов
/ 26 февраля 2012

Словари не были правильно инициализированы

...