如何将枚举字符串值发送到客户端

时间:2015-12-07 16:43:57

标签: c#

我已将枚举定义为以下内容。

public enum Month
{
    January,
    February,
    March,
    April,
    May,
    June,
    July,
    August,
    September,
    October,
    November,
    December
}

我收到并发回给客户。

public List<Month> GetMonths()
{
    return Enum.GetValues(typeof(Month)).Cast<Month>().ToList();
}

但是,我在客户端收到0,1,2,3,....11 values而不是实际的字符串值,即月份名称。

我如何将实际月份名称作为值发送?

3 个答案:

答案 0 :(得分:2)

您可以在Enum上使用GetNames方法:

public string[] GetMonths()
{
    return Enum.GetNames(typeof(Month));
}

答案 1 :(得分:1)

Newtonsoft.Json.Converters提供了StringEnumConverter。

用法:

[JsonConverter(typeof(StringEnumConverter))]
public Enum SomeProperty { get; set; }

答案 2 :(得分:1)

使用此代码获取字符串列表。

使用Enum静态方法方法GeNames

List<string> monthsName =Enum.GetNames(typeof(Month)).ToList();