DateTime.Now.AddMilliseconds(1.5); // adds 2 milliseconds
What on earth were they thinking here? It strikes me as horrendously bad practice to create a method that takes a double if it doesn't handle fractional values. Why didn't they implement this with a call to AddTicks and handle the fraction properly? Or at least take an int, so it's transparent to callers?
I'm guessing there must be a good reason why they implemented it this way, but I can't think of what it could be. Can anyone offer any insight?
EDIT: just to further emphasise the point:
AddSeconds(1.5); // Adds 1500 milliseconds