zoukankan      html  css  js  c++  java
  • Syn Bot /OSCOVA Action(动作)(10)

    是个啥呢?简单说就是给方法命名,这个命名是全局唯一的。然后其他intent可以通过唯一名称调用指定的方法

    创建一个Action

    class AppActionsDialog : Dialog
    {
        [Action(ID = "display.record.action")]
        public void DisplayRecord(Context context, Result result)
        {
            //Do something here.
        }
    }

    当然也可以用SIML调用,这个我们后续再介绍

    <Siml>
      <Dialog Name="action-dialog">
        <Intent Name="action-intent">
          <Expression Value="Display all records"/>
          <Action ID="display.record.action"/>
        </Intent>
      </Dialog>
    </Siml>

    举例,从其他ConfirmCoupon调用RequestCouponAction

    [Action(ID = "request-coupon")]
    public void RequestCouponAction(Context context, Result result)
    {
        result.SendResponse("Please enter your coupon code.");
        context.Add("wait-coupon");
    }
    
    //If user says "Yes" that he has a coupon code then call action.
    [Expression("@sys.positive")]
    [Context("confirm-coupon")]
    public void ConfirmCoupon(Context context, Result result)
    {
        result.Bot.Actions["request-coupon"].Invoke(context, result);
    }

    /。。没了。

  • 相关阅读:
    sync.Once.Do(f func())
    协程
    Qt 线程基础(QThread、QtConcurrent、QThreadPool等)
    linux下valgrind的使用概述
    QT--QSocketNotifier类介绍
    QThreadPool类和QtConcurrent命名空间
    联想电池维修
    asm
    tapset::iosched(3)
    systemtap --diskio
  • 原文地址:https://www.cnblogs.com/mrtiny/p/9082156.html
Copyright © 2011-2022 走看看