private long TicksPerUnit(TimeSpanUnits units)
{
switch (units)
{
case TimeSpanUnits.Days: return TimeSpan.TicksPerDay;
case TimeSpanUnits.Hours: return TimeSpan.TicksPerHour;
case TimeSpanUnits.Minutes: return TimeSpan.TicksPerMinute;
case TimeSpanUnits.Seconds: return TimeSpan.TicksPerSecond;
case TimeSpanUnits.Milliseconds: return TimeSpan.TicksPerMillisecond;
case TimeSpanUnits.Microseconds: return TimeSpan.TicksPerMillisecond / 1000;
case TimeSpanUnits.Ticks: return 1;
default:
var message = string.Format("Invalid TimeSpanUnits value: {0}.", units);
throw new ArgumentException(message);
}
}