我有delegatecommand的一个子类,该类失败并带有一个无效的programmexception,“命令语言运行时检测到一个无效的程序。”当我调用execute时。
我的子类如下:
public class SaveOrderCommand : DelegateCommand<IOrder>
{
[Dependency]
public IOrderService OrderService { get; set; }
public SaveOrderCommand()
: base(p => this.ExecuteSaveOrder(p), p => this.CanExecuteSaveOrder(p))
{ }
public bool CanExecuteSaveOrder(IOrder order)
{
return true;
}
public void ExecuteSaveOrder(IOrder order)
{
if (order == null)
return;
IProductOrderService productSpecificOrderService = this.OrderService.RegisteredServices[order.GetType()] as IProductOrderService;
order = productSpecificOrderService.Save(order);
}
}
我可以看到,将基类引用到子类中的方法可能是一个问题,但如果这是问题所在,是否有人建议更好的实现?