开发者

Why 10675199.02:48:05.4775807 TimeSpan Maximum for CompilationSection?

I was looking at the met开发者_C百科adata 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?


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.


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.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜