2013-11-27 65 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() 
    { 
     ... 
    }