2016-05-04 9 views
0

はMicrosoft Bot Frameworkと連携しています会話とユーザー管理のための状態とデータを設定しています。IBotDataBagすべてのキーを取得する方法

私は自分の状態を取得するために

var state = message.GetBotPerUserInConversationData<ConversationState>("State"); 
if(state == null) 
{      
    message.SetBotPerUserInConversationData("State", new ConversationState()); 
} 

var data = context.PerUserInConversationData; 
ConversationState state; 
var ret = data.TryGetValue("State", out state); 

を使用。 私はプロパティを知っている必要があります、私は私が作成したキーと値のペアを取得するCountプロパティを呼び出す作成した状態。

完全なリストを取得するには?方法がなく、名前が不明なオブジェクトがすでに存在する可能性があります。私は無用なカスタム状態を作成する必要があります。あなたがcontext.PerUserInConversationDataを呼び出すと

おかげで

答えて

0

、あなたはIBotDataBag(JObjectBotDataクラスの通常のインスタンス)を実装するオブジェクトを取得し、その中のフィールドをプログラム的にアクセスする方法はありません。

このDataBagに最初に挿入されるフィールドを理解したい場合は、Bot Framework Source Codeを参照するか、JObjectBotData内のキーにアクセスできる独自のフレームワークのコピーを構築することができます。

コード内にバッグの中に入れたフィールドを追跡する場合は、これらのフィールドを明示的に追跡し、それらのリストをDataBagに保存するラッパーを作成できます。

関連する問題