/// <summary> /// Converts the <paramref name="value"/> in the specified <paramref name="sourceUnit"/> to a new <see cref="Charge"/> in coulombs. /// </summary> /// <param name="value">Source value.</param> /// <param name="sourceUnit">Source value units.</param> /// <returns>New <see cref="Charge"/> from the specified <paramref name="value"/> in <paramref name="sourceUnit"/>.</returns> public static Charge ConvertFrom(double value, ChargeUnit sourceUnit) { switch (sourceUnit) { case ChargeUnit.Coulombs: return(value); case ChargeUnit.AmpereHours: return(FromAmpereHours(value)); case ChargeUnit.Abcoulombs: return(FromAbcoulombs(value)); case ChargeUnit.Statcoulombs: return(FromStatcoulombs(value)); case ChargeUnit.AtomicUnitsOfCharge: return(FromAtomicUnitsOfCharge(value)); case ChargeUnit.Faraday: return(FromFaraday(value)); default: throw new ArgumentOutOfRangeException(nameof(sourceUnit), sourceUnit, null); } }
/// <summary> /// Converts the <see cref="Charge"/> to the specified <paramref name="targetUnit"/>. /// </summary> /// <param name="targetUnit">Target units.</param> /// <returns><see cref="Charge"/> converted to <paramref name="targetUnit"/>.</returns> public double ConvertTo(ChargeUnit targetUnit) { switch (targetUnit) { case ChargeUnit.Coulombs: return(m_value); case ChargeUnit.AmpereHours: return(ToAmpereHours()); case ChargeUnit.Abcoulombs: return(ToAbcoulombs()); case ChargeUnit.Statcoulombs: return(ToStatcoulombs()); case ChargeUnit.AtomicUnitsOfCharge: return(ToAtomicUnitsOfCharge()); case ChargeUnit.Faraday: return(ToFaraday()); default: throw new ArgumentOutOfRangeException(nameof(targetUnit), targetUnit, null); } }
/// <summary> /// Converts the <see cref="Charge"/> to the specified <paramref name="targetUnit"/>. /// </summary> /// <param name="targetUnit">Target units.</param> /// <returns><see cref="Charge"/> converted to <paramref name="targetUnit"/>.</returns> public double ConvertTo(ChargeUnit targetUnit) { return(targetUnit switch { ChargeUnit.Coulombs => m_value, ChargeUnit.AmpereHours => ToAmpereHours(), ChargeUnit.Abcoulombs => ToAbcoulombs(), ChargeUnit.Statcoulombs => ToStatcoulombs(), ChargeUnit.AtomicUnitsOfCharge => ToAtomicUnitsOfCharge(), ChargeUnit.Faraday => ToFaraday(), _ => throw new ArgumentOutOfRangeException(nameof(targetUnit), targetUnit, null) });
public void ChargeBattery(object data) { Output.WriteLine("Charge battery of mobile:"); ChargeUnit?.ChargeBattery(data); }