Пример #1
0
        /// <summary>
        /// Converts the number of source units to target units.
        /// </summary>
        /// <param name="aUnits">A number of units.</param>
        /// <param name="aFromUnitOfTime">A from unit of time.</param>
        /// <param name="aToUnitOfTime">A to unit of time.</param>
        /// <returns></returns>
        public static double Convert(double aUnits, UnitOfTime aFromUnitOfTime, UnitOfTime aToUnitOfTime)
        {
            var vEnumType = typeof(UnitOfTime);
            //
            var vFromEnumInfo       = vEnumType.GetMember(aFromUnitOfTime.ToString());
            var vFromEnumAttributes = vFromEnumInfo[0].GetCustomAttributes(typeof(UnitOfTimeAttribute), false);
            var vFromOfBase         = ((UnitOfTimeAttribute)vFromEnumAttributes[0]).OfBase;
            //
            var vToEnumInfo       = vEnumType.GetMember(aToUnitOfTime.ToString());
            var vToEnumAttributes = vToEnumInfo[0].GetCustomAttributes(typeof(UnitOfTimeAttribute), false);
            var vToOfBase         = ((UnitOfTimeAttribute)vToEnumAttributes[0]).OfBase;

            //
            return((aUnits / vFromOfBase) * vToOfBase);
        }