C#enum如何检查枚举中是否存在描述

时间:2013-03-22 21:48:21

标签: c# enums

我想知道是否有方法来检查该值是否是Enum的描述。 我知道

     Enum.IsDefined(typeof(EnumEntity),value)

可用于检查值是否在Enum中,但描述如何?

例如,

 public enum LicenseTypes 
{
    [Description("A License")]
    A,
    [Description("B License")]
    B,
    [Description("C License")]
    C
}

有没有办法检查“A License”是enum LicenseTypes的描述?

1 个答案:

答案 0 :(得分:2)

它会像这样(未经测试):

bool isPresent = Enum.GetValues(typeof(LicenseTypes))
                     .Select(e => e.GetDescription())
                     .Contains("A License");

其中GetDescrtiption()是在回答这个问题时定义的辅助函数: Get the Enum<T> value Description