Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Botframework 创建访问器后无法写入bot state属性_Botframework - Fatal编程技术网

Botframework 创建访问器后无法写入bot state属性

Botframework 创建访问器后无法写入bot state属性,botframework,Botframework,这可能是我的误解,但在botframework SDKv4中,一旦我为希望在自适应对话框中捕获的一组变量创建了属性访问器,我就不能再直接从输入操作向它们写入 e、 在初始化属性之前,我可以有一个输入操作,例如 newtextInput() { Prompt=new ActivityTemplate(“${RequestPhoneNumber()}”), Property=“user.profile.mobilenumber”, } 然后,我可以在自适应表达式中引用该属性,或者通过检查对话框上下

这可能是我的误解,但在botframework SDKv4中,一旦我为希望在自适应对话框中捕获的一组变量创建了属性访问器,我就不能再直接从输入操作向它们写入

e、 在初始化属性之前,我可以有一个输入操作,例如

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操作可以写入所需的变量。你的问题解决了吗?