public double BaseUnitValueToUnitValue(Unit unit, double value) { if (SourceDimension.Units.Contains(unit)) { return(SourceDimension.BaseUnitValueToUnitValue(unit, value)); } var usedDimension = targetDimensionWith(unit); var usedConverter = converterFor(usedDimension); if (usedConverter.CanResolveParameters()) { return(usedDimension.BaseUnitValueToUnitValue(unit, usedConverter.ConvertToTargetBaseUnit(value))); } throw new UnableToResolveParametersException(unit, usedConverter.UnableToResolveParametersMessage); }
public bool Matches(IDimension sourceDimension, IDimension targedDimension, IWithDimension withDimension) { return(SourceDimension.Equals(sourceDimension) && TargetDimension.Equals(targedDimension) && Converter.CanBeUsedFor(withDimension)); }
public int CompareTo(object obj) { return(SourceDimension.CompareTo(obj)); }
public int CompareTo(IDimension other) { return(SourceDimension.CompareTo(other)); }