/// <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); }