我的枚举包含以下值:
private enum PublishStatusses{
NotCompleted,
Completed,
Error
};
Run Code Online (Sandbox Code Playgroud)
我希望能够以用户友好的方式输出这些值.
我不需要能够再次从字符串变为值.
我有以下枚举
public enum PermissionType
{
[JsonProperty(PropertyName = "can_fly")]
PermissionToFly,
[JsonProperty(PropertyName = "can_swim")]
PermissionToSwim
};
Run Code Online (Sandbox Code Playgroud)
以及具有此属性的类
[JsonProperty(PropertyName = "permissions", ItemConverterType = typeof(StringEnumConverter))]
public IList<PermissionType> PermissionKeynames { get; set; }`
Run Code Online (Sandbox Code Playgroud)
我想将枚举列表序列化为字符串列表,并且序列化列表使用指定的字符串PropertyName(例如"can_swim")而不是属性的实际名称"PermissionToSwim".但是,每当我调用JsonConvert.SerializeObject时,我最终都会
"permission_keynames":["PermissionToFly","PermissionToSwim"]
Run Code Online (Sandbox Code Playgroud)
而不是我想要的
"permission_keynames":["can_fly","can_swim"]
Run Code Online (Sandbox Code Playgroud)
我希望在我的代码中保留短语"PermissionToSwim",序列化为另一个单词.知道我怎么能做到这一点?我的直觉说,注释是罪魁祸首,但我找不到正确的注释.