Botframework 创建访问器后无法写入bot state属性
这可能是我的误解,但在botframework SDKv4中,一旦我为希望在自适应对话框中捕获的一组变量创建了属性访问器,我就不能再直接从输入操作向它们写入 e、 在初始化属性之前,我可以有一个输入操作,例如Botframework 创建访问器后无法写入bot state属性,botframework,Botframework,这可能是我的误解,但在botframework SDKv4中,一旦我为希望在自适应对话框中捕获的一组变量创建了属性访问器,我就不能再直接从输入操作向它们写入 e、 在初始化属性之前,我可以有一个输入操作,例如 newtextInput() { Prompt=new ActivityTemplate(“${RequestPhoneNumber()}”), Property=“user.profile.mobilenumber”, } 然后,我可以在自适应表达式中引用该属性,或者通过检查对话框上下
newtextInput()
{
Prompt=new ActivityTemplate(“${RequestPhoneNumber()}”),
Property=“user.profile.mobilenumber”,
}
然后,我可以在自适应表达式中引用该属性,或者通过检查对话框上下文来引用该属性
var phone=dc.State[“user.profile.mobilenumber”];
我会找到用户在该属性中输入的文本,正如预期的那样
但是,如果我去创建一个数据类,如:
公共类人物
{
公共字符串MobileNumber{get;set;}
}
然后在我的对话框中创建它
var personacessor=userState.CreateProperty(“profile”);
如果我稍后读取mobilephone属性,我将在TextInput操作完成后发现该属性为null
personprofile=wait personacessor.GetAsync(dc.Context,()=>newprofile());
Console.WriteLine(profile.MobileNumber);
控制台上的输出为null,我无法确定我做错了什么或误解了什么。我注意到,如果属性是字符串而不是类,TextInput操作可以写入所需的变量。你的问题解决了吗?