C# Bot甚至要求对静态按钮进行澄清
我正在使用BotFramework FormFlow。其中一个问题给出了用户可以选择的静态选项列表。例如,当用户选择Central Us时,它仍然要求澄清,有没有办法避免这种情况,因为用户选择的内容很清楚。 代码如下:C# Bot甚至要求对静态按钮进行澄清,c#,botframework,C#,Botframework,我正在使用BotFramework FormFlow。其中一个问题给出了用户可以选择的静态选项列表。例如,当用户选择Central Us时,它仍然要求澄清,有没有办法避免这种情况,因为用户选择的内容很清楚。 代码如下: [Prompt("Please choose the region in which the cluster should be created {||}")] public RegionOptions? DesiredGeoRegion;
[Prompt("Please choose the region in which the cluster should be created {||}")]
public RegionOptions? DesiredGeoRegion;
public enum RegionOptions
{
AustraliaEast,
AustraliaSoutheast,
BrazilSouth,
CanadaCentral,
CanadaEast,
CentralIndia,
CentralUS,
EastAsia,
EastUS,
EastUS2,
JapanEast,
JapanWest,
NorthCentralUS,
NorthEurope,
SouthCentralUS,
SouthIndia,
SoutheastAsia,
UKNorth,
UKSouth2,
WestCentralUS,
WestEurope,
WestIndia,
WestUS,
WestUS2
}
根据文档,这是预期的行为,因为当在任何其他选项中也找到输入的术语时,
FormFlow
将尝试消除歧义。在这种情况下,Central US是第二条消息中显示的其他选项的一部分
克服此问题的一种方法是使用重写用于将枚举值与用户输入匹配的默认术语。我试过了,效果如预期:
public enum RegionOptions
{
AustraliaEast,
AustraliaSoutheast,
BrazilSouth,
CanadaCentral,
CanadaEast,
CentralIndia,
CentralUS,
EastAsia,
EastUS,
EastUS2,
JapanEast,
JapanWest,
[Terms("North Central US")]
NorthCentralUS,
NorthEurope,
[Terms("South Central US")]
SouthCentralUS,
SouthIndia,
SoutheastAsia,
UKNorth,
UKSouth2,
[Terms("West Central US")]
WestCentralUS,
WestEurope,
WestIndia,
WestUS,
WestUS2
}
请注意,您将看到EastUS和WestUS选项存在相同的问题。您可以发布枚举代码吗?当然,我刚刚添加了枚举代码