Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 枚举错误代码返回JSON_C#_Enums - Fatal编程技术网

C# 枚举错误代码返回JSON

C# 枚举错误代码返回JSON,c#,enums,C#,Enums,我现在用的是 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.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);
如何将我的代码转换为此? 谢谢你的帮助

我的错误类

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();
    }
}

您可以自己创建一个
Error
类,接受构造函数中的枚举值,并重写其
ToString()
方法以适合您所需的输出:

    public override string ToString()
    {
        ...
    }
    public override string ToString()
    {
        ...
    }