TimeSpan FromMilliseconds implementación extraña?

Recientemente encontré un comportamiento extraño en la implementación del intervalo de tiempo .net.

        TimeSpan test = TimeSpan.FromMilliseconds(0.5);
        double ms = test.TotalMilliseconds; // Returns 0

The FromMilliseconds toma un doble como parámetro. Sin embargo, parece que el valor se redondea internamente.

Si instancia una nueva franja horaria con 5000 ticks (.5 ms), el valor de TotalMilliseconds es correcto.

l mirar la implementación de TimeSpan en el reflector, se revela que la entrada de hecho se proyecta a un largo.

¿Por qué diseñó Microsoft el método FromMilliseconds para tomar un parámetro doble en lugar de uno largo (dado que un valor doble es inútil dada esta implementación)?

Respuestas a la pregunta(5)

Su respuesta a la pregunta