示例#1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="QuantityOperations" /> class.
 /// </summary>
 /// <param name="unitFactory">The unit factory.</param>
 /// <param name="expressionReducer">The expression reducer.</param>
 /// <param name="valueFromBaseVisitor">From base visitor.</param>
 /// <param name="valueToBaseVisitor">To base visitor.</param>
 public QuantityOperations(
     IUnitFactory unitFactory,
     IExpressionReducer expressionReducer,
     ValueFromBaseVisitor valueFromBaseVisitor,
     ValueToBaseVisitor valueToBaseVisitor)
 {
     this.Addition       = new AdditionOperation(valueFromBaseVisitor, valueToBaseVisitor);
     this.Subtraction    = new SubtractionOperation(valueFromBaseVisitor, valueToBaseVisitor);
     this.Multiplication = new ReducingOperation(
         unitFactory,
         new UnitMultiplicationOperation(expressionReducer),
         new MultiplicationOperation());
     this.Division = new ReducingOperation(
         unitFactory,
         new UnitDivisionOperation(expressionReducer),
         new DivisionOperation());
     this.Exponentiation = new ExponentiationOperation(unitFactory, expressionReducer);
     this.NthRoot        = new NthRootOperation(unitFactory, expressionReducer);
     this.ConvertToUnit  = new ConvertToUnitOperation();
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="QuantityOperations"/> class.
 /// </summary>
 /// <param name="unitFactory">The unit factory.</param>
 /// <param name="expressionReducer">The expression reducer.</param>
 /// <param name="valueFromBaseVisitor">From base visitor.</param>
 /// <param name="valueToBaseVisitor">To base visitor.</param>
 public QuantityOperations(
     IUnitFactory unitFactory,
     IExpressionReducer expressionReducer,
     ValueFromBaseVisitor valueFromBaseVisitor,
     ValueToBaseVisitor valueToBaseVisitor)
 {
     this.Addition = new AdditionOperation(valueFromBaseVisitor, valueToBaseVisitor);
     this.Subtraction = new SubtractionOperation(valueFromBaseVisitor, valueToBaseVisitor);
     this.Multiplication = new ReducingOperation(
         unitFactory,
         new UnitMultiplicationOperation(expressionReducer),
         new MultiplicationOperation());
     this.Division = new ReducingOperation(
         unitFactory,
         new UnitDivisionOperation(expressionReducer),
         new DivisionOperation());
     this.Exponentiation = new ExponentiationOperation(unitFactory, expressionReducer);
     this.NthRoot = new NthRootOperation(unitFactory, expressionReducer);
     this.ConvertToUnit = new ConvertToUnitOperation();
 }
示例#3
0
 /// <summary>
 /// Initializes a new instance of the <see cref="AdditionOperation" /> class.
 /// </summary>
 /// <param name="valueFromBaseVisitor">From base visitor.</param>
 /// <param name="valueToBaseVisitor">To base visitor.</param>
 public AdditionOperation(ValueFromBaseVisitor valueFromBaseVisitor, ValueToBaseVisitor valueToBaseVisitor)
 {
     this.valueFromBaseVisitor = valueFromBaseVisitor;
     this.valueToBaseVisitor   = valueToBaseVisitor;
 }