protected override DvAmount <DvQuantity> Plus(DvAmount <DvQuantity> b) { DesignByContract.Check.Require(this.IsStrictlyComparableTo(b)); DvQuantity bObj = b as DvQuantity; return(new DvQuantity(this.Magnitude + bObj.Magnitude, this.Units)); }
protected override DvAmount <DvCount> Subtract(DvAmount <DvCount> b) { DesignByContract.Check.Require(this.IsStrictlyComparableTo(b)); DvCount bObj = b as DvCount; return(new DvCount(this.Magnitude - bObj.Magnitude)); }
protected override DvAmount <DvProportion> Plus(DvAmount <DvProportion> b) { DesignByContract.Check.Require(this.IsStrictlyComparableTo(b)); DvProportion bObj = b as DvProportion; double result = this.Magnitude() + bObj.Magnitude(); return(this.GetDvProportionByMagnitude(result)); }
protected abstract DvAmount <T> Plus(DvAmount <T> b);
protected abstract DvAmount <T> Subtract(DvAmount <T> b);
public abstract DvAbsoluteQuantity <T, U> Subtract(DvAmount <U> b);
public abstract DvAbsoluteQuantity <T, U> Add(DvAmount <U> b);