Example #1
0
        /// <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);
            }
        }
Example #2
0
        /// <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);
            }
        }
Example #3
0
 /// <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);
 }