public Command(IErrorHandler errorHandler, ICommandCalculator calculator, bool fallbackCanExecute, bool isEmpty, object[] values)
 {
     this.errorHandler       = new WeakReference(errorHandler);
     this.calculator         = new WeakReference(calculator);
     this.fallbackCanExecute = fallbackCanExecute;
     this.isEmpty            = isEmpty;
     this.values             = values.Select(x => new WeakReference(x)).ToArray();
 }
 protected override void Init()
 {
     TreeInfo = new CommandTreeInfo(Execute, CanExecute, ErrorHandler);
     if (ActualResolvingMode == DXBindingResolvingMode.LegacyStaticTyping)
     {
         Calculator = new CommandCalculator(TreeInfo, FallbackCanExecute);
     }
     else
     {
         Calculator = new CommandCalculatorDynamic(TreeInfo, FallbackCanExecute);
     }
     Calculator.Init(TypeResolver);
 }
 public DXCommandConverter(DXCommandExtension owner, bool isEmpty) : base(owner)
 {
     this.calculator         = owner.Calculator;
     this.fallbackCanExecute = owner.FallbackCanExecute;
     this.isEmpty            = isEmpty;
 }