2013-11-27 66 views
0

我所使用的是现在是枚举错误代码返回JSON

Response.StatusCode = 420; 
Dictionary<string, object> error = new Dictionary<string, object>(); 
error.Add("ErrorCode", BL.Error.Error.NoMethod); 
error.Add("ErrorMessage", BL.Error.Enumerations.GetEnumDesc(BL.Error.Error.NoMethod)); 
Response.Write(JsonConvert.SerializeObject(error); 

我想怎么用是同样的结果。

Response.StatusCode = 420; 
error = BL.Error.Error.NoMethod; 
Response.Write(error); 

如何将我的代码转换为这个? 谢谢你的帮助。

我的错误类别

public enum Error 
{ 
    [Description("No Method")] 
    NoMethod = 1, 
    [Description("Missing Value")] 
    MissingValue = 2 
} 

public class Enumerations 
{ 
    public static string GetEnumDesc(Enum value) 
    { 
     FieldInfo fi = value.GetType().GetField(value.ToString()); 

    DescriptionAttribute[] attributes = 
     (DescriptionAttribute[])fi.GetCustomAttributes(
     typeof(DescriptionAttribute), 
     false); 

    if (attributes != null && 
     attributes.Length > 0) 
     return attributes[0].Description; 
    else 
     return value.ToString(); 
    } 
} 

回答

0

你可以自己创建一个Error类中,接受构造器枚举值并覆盖其ToString()方法,以满足您所需的输出:

public override string ToString() 
    { 
     ... 
    }