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);
}
/。。没了。