I was looking at the metadata for System.Web.Configuration.CompilationSection, and noticed the following attribute on the TimeSpan BatchTimeout
property:
[TimeSpanValidator(MinValueString = "00:00:00",
MaxValueString = "10675199.02:48:05.4775807")]
Could someone explain why this is the allowed max value? TimeSpan itself has an upper limit, so why would there be another value validation, and why this number?
That is exactly the maximum value of TimeSpan
. Quoting MSDN for TimeSpan.MaxValue
:
The value of this field is equivalent to Int64.MaxValue ticks. The string representation of this value is positive 10675199.02:48:05.4775807.
I think the accepted answer does not fully answer the question. It is indeed the same maximal value. And it's no coincidence. But why is the definition:
[TimeSpanValidator(MinValueString = "00:00:00", MaxValueString = "10675199.02:48:05.4775807")]
and not something like:
[TimeSpanValidator(TimeSpan.Zero, TimeSpan.MaxValue)]
?
Well simply put, it's because Attributes don't allow the second kind of definitions. They only allow compile time constants, because they are meta data that's compiled into the assembly.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With