9

我正在查看 System.Web.Configuration.CompilationSection 的元数据,并注意到属性上的以下属性TimeSpan BatchTimeout

[TimeSpanValidator(MinValueString = "00:00:00", 
 MaxValueString = "10675199.02:48:05.4775807")]

有人可以解释为什么这是允许的最大值吗?TimeSpan 本身有一个上限,那么为什么会有另一个值验证,为什么会有这个数字呢?

4

2 回答 2

13

我认为接受的答案并不能完全回答这个问题。它确实是相同的最大值。这不是巧合。但为什么是定义:

[TimeSpanValidator(MinValueString = "00:00:00", MaxValueString = "10675199.02:48:05.4775807")]

而不是这样的:

[TimeSpanValidator(TimeSpan.Zero, TimeSpan.MaxValue)]

?

简单地说,这是因为属性不允许第二种定义。它们只允许编译时常量,因为它们是编译到程序集中的元数据。

于 2014-02-06T16:57:31.293 回答
9

这正是 的最大值TimeSpan。引用MSDNTimeSpan.MaxValue

该字段的值相当于 Int64.MaxValue 刻度。该值的字符串表示为正数 10675199.02:48:05.4775807。

于 2010-05-28T23:18:07.557 回答