答案 0 :(得分:1)
它只是一个特殊值,允许对有效值进行更简单的范围检查。任何其积分值大于此值的值都可视为无效。请记住,尽管枚举定义了某些值的名称,但它并不意味着与单个枚举不对应的值无效。对于Flags
来说尤其如此。
您会看到它经常像这样使用:
void Foo(MethodImplAttributes attrs)
{
if (attrs < 0 || attrs > MethodImplAttributes.MaxMethodImplVal)
throw new ArgumentOutOfRangeException("attrs");
// do stuff
}
对于有效值范围,实际使用的是稀疏的。测试每个可能的有效值是不切实际的,更有效的是无效值。但是,此检查会消除更多明显的无效值。然后代码只需要处理或忽略其余部分。
根据价值观和评论以及它们在source中的排列方式判断,看起来枚举有多种用途,因此这种检查几乎是必要的。
答案 1 :(得分:0)
据我所知,ts并不意味着使用,它只是MethodImplOptions
枚举的最大值。