/// <summary> /// convert to another unit if possible /// </summary> /// <param name="v">Verbrauch</param> /// <param name="mengeneinheit">Mengeneinheit</param> /// <throws>ArgumentException if units are not convertible</throws> public static void ConvertToUnit(this Verbrauch v, Mengeneinheit mengeneinheit) { PhysikalischerWert oldWert = new PhysikalischerWert(v.Wert, v.Einheit); PhysikalischerWert newWert = oldWert.ConvertToUnit(mengeneinheit); v.Wert = newWert.Wert; v.Einheit = newWert.Einheit; }
/// <summary> /// Converts a PhysikalischerWert to another unit, e.g. from kWh to MWh. This changes the <see cref="PhysikalischerWert.Einheit"/> and the <see cref="PhysikalischerWert.Wert"/> accordingly /// </summary> /// <param name="pw">physikalischer Wert</param> /// <param name="newEinheit">new unit of measurement</param> /// <returns>a new instance of PhysikalischerWert having the unit <paramref name="newEinheit"/></returns> public static PhysikalischerWert ConvertToUnit(this PhysikalischerWert pw, Mengeneinheit newEinheit) { decimal factor = pw.Einheit.GetConversionFactor(newEinheit); // throws all the exceptions. return(new PhysikalischerWert(factor * pw.Wert, newEinheit)); }