Microsoft Botframework custom enum - PullRequest
0 голосов
/ 26 сентября 2018

Здравствуйте, я использую Microsoft Botframework.И я хочу создать собственное перечисление, и если пользователь выберет другое, он введет параметр, которого нет в списке.

Please select value: 
1-option1 
2-option2  
3-other

1 Ответ

0 голосов
/ 28 сентября 2018

Это может быть выполнено с помощью FormFlow's FieldReflector's .SetActive:

[Serializable]
public class OptionalFormFlow
{
    public enum Options
    {
        Option1 = 1,
        Option2 = 2,
        Other = 3
    }

    public Options Option { get; set; }
    public string OtherOption { get; set; }
    public string Name { get; set; }

    public static IForm<OptionalFormFlow> BuildForm()
    {

        var built = new FormBuilder<OptionalFormFlow>()
            .Field(nameof(Option))
            .Field(new FieldReflector<OptionalFormFlow>(nameof(OtherOption))
                .SetActive(state => state.Option == Options.Other))
            .Field(nameof(Name), "What is your name?")
            .AddRemainingFields()
            .Confirm("Is this information correct? {*}")
            .Build();

        return built;
    }
}

Результаты: enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...