C# 如何转换enum';是否等效于ASP.NET核心中JSON反序列化过程中的枚举?
我有以下列举:C# 如何转换enum';是否等效于ASP.NET核心中JSON反序列化过程中的枚举?,c#,json,api,asp.net-core,C#,Json,Api,Asp.net Core,我有以下列举: public enum FilterOperator { Unknown = 0, Equal = 1, GreaterThan = 2, LessThan = 3, GreaterThanOrEqual = 4, LessThanOrEqual = 5, NotEqual = 6, In = 7, NotIn = 8 } 我的API中有这个模型: public class Filter { pub
public enum FilterOperator
{
Unknown = 0,
Equal = 1,
GreaterThan = 2,
LessThan = 3,
GreaterThanOrEqual = 4,
LessThanOrEqual = 5,
NotEqual = 6,
In = 7,
NotIn = 8
}
我的API中有这个模型:
public class Filter
{
public string Property { get; set; }
public FilterOperator Operator { get; set; }
public string Value { get; set; }
}
我使用JSON字符串在API中指定过滤器。例如:
GET http://api.example.com/customers/list?filters=[{"property":"age","operator":"lessThan","value":"38"}]
并创建一个自定义模型绑定器,从HTTP请求中读取过滤器
参数,并为我填充列表
一切都很好。然而,为了可读性,我更喜欢在API调用中使用数学符号。换句话说,我希望能够使用那里的。您应该为实现您的目标编写下一个代码:
public enum FilterOperator
{
Unknown = 0,
[EnumMember(Value = "=")]
Equal = 1,
[EnumMember(Value = ">")]
GreaterThan = 2,
[EnumMember(Value = "<")]
LessThan = 3,
[EnumMember(Value = ">=")]
GreaterThanOrEqual = 4,
[EnumMember(Value = "<=")]
LessThanOrEqual = 5,
[EnumMember(Value = "!=")]
NotEqual = 6,
In = 7,
NotIn = 8
}
公共枚举筛选器运算符
{
未知=0,
[EnumMember(Value=“=”)]
等于1,
[EnumMember(Value=“>”)]
大于等于2,
[EnumMember(Value=“=”)]
大于或等于4,
[EnumMember(Value=“您是否尝试对
public enum FilterOperator
{
Unknown = 0,
[EnumMember(Value = "=")]
Equal = 1,
[EnumMember(Value = ">")]
GreaterThan = 2,
[EnumMember(Value = "<")]
LessThan = 3,
[EnumMember(Value = ">=")]
GreaterThanOrEqual = 4,
[EnumMember(Value = "<=")]
LessThanOrEqual = 5,
[EnumMember(Value = "!=")]
NotEqual = 6,
In = 7,
NotIn = 8
}