2017-06-26 35 views
1

我正在使用MS bot框架,我無法找到自定義消息的方式來在表單流中的枚舉選項。我嘗試過使用提示屬性,但它不起作用。Formflow中的枚舉選項的自定義消息 - C#Bot Framework

我要的是:機器人將顯示像用戶選擇:

1)是的,我想成爲一個DayNinja!

2)不,我不想解鎖流程來實現我的目標。

3)後來,我將會從基礎

現在開始,我得到的是:「是」,「否」,「後來」

任何幫助將不勝感激 謝謝!

My code

回答

6

您使用了錯誤的屬性。而不是使用Prompt屬性,您需要使用Describe之一。

enter image description here

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 
} 
3

什麼埃塞基耶爾貼沒和我一起工作,因爲每當你點擊該菜單項,在描述值,而不是公佈。這導致機器人不高興,因爲該值不是可變選項的一部分。

我解決了這個問題,將Describe替換爲Display,後面加上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 
    }