Я пытаюсь сохранить объект в UserData бота.
Прежде всего, у меня есть следующий класс:
public class PersonalData
{
public string Name { get; set; }
public int Age { get; set; }
}
В моем классе Luis мне нужна переменная типа PersonalData.
public class Luis : LuisDialog<object>
{
PersonalData personalData;
Это уже приводит к проблеме, что отладчик никогда не заходит ни в какие мои интенты. Что случилось с этим?
Теперь, если я создам объект PersonalData с таким намерением:
PersonalData personalData = new PersonalData();
он будет успешно создан. Но когда я хочу присвоить значение своему объекту
if (!context.UserData.TryGetValue(ContextConstants.personalData, out personalData))
{
personalData.Name = userName;
context.UserData.SetValue(ContextConstants.personalData, personalData.Name);
}
Как только программа пытается установить personalData.Name
в userName
, я получаю NullReferenceException
, а мой объект PersonalData
равен нулю. Я дважды проверил, что имя пользователя не пусто.
Что мне не хватает?
Заранее спасибо!