鉴于以下枚举:
public enum SomeEnumType : byte
{
[Display(Name = "Name of EnumItemOne")]
EnumItemOne = 1,
[Display(Name = "Name of EnumItemTwo")]
EnumItemTwo = 2,
[Display(Name = "Name of EnumItemThree")]
EnumItemThree = 3,
}
我想在数据注释中使用此枚举的最大数量 (使用以下问题的解决方案验证输入值): "Getting the max value of an enum"
[DisplayName("Some display name")]
[Range(1, Convert.ToInt32(Enum.GetValues(typeof(SomeEnumType)).Cast<SomeEnumType>().Max()), ErrorMessage = "Please choose an item")]
public SomeEnumType SomeField{ get; set; }
但是我收到以下错误消息:
错误CS0182属性参数必须是常量表达式, typeof表达式或数组创建表达式的属性 参数类型
我对根本原因一无所知。有人遇到过这样的错误信息吗?