2013-11-27 2 views
0

Что я использую прямо сейчасEnum Код ошибки возвращает 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() 
    { 
     ... 
    } 
Смежные вопросы