获取自定义枚举的最大值

时间:2017-06-13 22:09:38

标签: c# enums max data-annotations

鉴于以下枚举:

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表达式或数组创建表达式的属性   参数类型

我对根本原因一无所知。有人遇到过这样的错误信息吗?

0 个答案:

没有答案