表单流中枚举选项的自定义消息 - C# Bot Framework

Custom message for enum options in formflow - C# Bot Framework

我正在使用 MS 机器人框架,但我找不到为表单流中的枚举选项自定义消息的方法。我已经尝试使用 prompt 属性,但它不起作用。

我想要的是:机器人会为用户显示选项,例如:

1) 是的,我想成为一名 DayNinja!

2) 不,我不想解锁流量来实现我的目标。

3) 以后先从基础开始

现在,我得到的是:"Yes"、"No"、"Later"

任何帮助将不胜感激 谢谢!

您使用了错误的属性。您需要使用 Describe 属性,而不是使用 Prompt 属性。

public enum OpeningHubOptions
{
    [Describe("Yes, I want to be a DayNinja")]
    Yes = 1,

    [Describe("No, I don't want to unlock flow to achieve my goals.")]
    No = 2,

    [Describe("Later, I''ll start with the basics")]
    Later = 3
}

Ezequiel 发布的内容对我不起作用,因为无论何时单击菜单项,都会发布 Describe 值。这导致机器人不高兴,因为该值不是变量选项的一部分。

我通过用 Display 替换 Describe 然后包含 System.ComponentModel.DataAnnotations 解决了这个问题。更多信息:- How to set space on Enum.

例如:

using System.ComponentModel.DataAnnotations;    
public enum OpeningHubOptions
    {
        [Display(Name = "Yes, I want to be a DayNinja")]
        Yes = 1,

        [Display(Name = "No, I don't want to unlock flow to achieve my goals.")]
        No = 2,

        [Display(Name = "Later, I''ll start with the basics")]
        Later = 3
    }