C# - Why are DateTime.MinValue and MaxValue not compile-time constants?

Viewed 5821

I wanted to have an optional date parameter for a method (defaulted to MinValue), in order to check if the user had actually supplied a value or not (supplying MinValue was invalid), but I'm not allowed as apparently it's not a compile-time constant.

According to the MSDN page, "The value of this constant is equivalent to 00:00:00.0000000, January 1, 0001."

So why is that not compile-time constant? And why is it different from passing in Int32.MinValue, which is allowed?

2 Answers
Related