public Quantity Convert(Quantity quantity, Conversion conversion) { Quantity baseq = quantity.UnPrefixed(); if (!baseq.Metric.Equals(conversion.To)) throw new InvalidCastException(string.Format("Quantity {0} cannot be converted to {1}", quantity, conversion.To)); Quantity output = conversion.Convert(baseq.Value); return output; }
public Conversion Add(Metric from, Metric to, ConversionMethod method) { Conversion conversion = new Conversion(from, to, method); conversions.Add(conversion); return conversion; }