我正在为Stack Exchange API创建类。 filter_object类型包含一个成员filter_type
,它将是safe
、unsafe
或invalid
之一。因此,我创建了一个枚举如下:
[JsonConverter(typeof(StringEnumConverter))]
public enum FilterType
{
safe,
@unsafe, // Here lies the problem.
invalid
}
由于unsafe
是一个关键字,我必须添加一些前缀。但是,如何使值“unsafe”自动映射到@unsafe
?示例JSON:
{
"filter": "....",
"filter_type": "unsafe",
"included_fields": [
"...",
"....",
"....."
]
}
如何进行反序列化,使得 filter_type
自动转换为 FilterType.@unsafe
?
更新 - 已解决:
在标识符前加上 @ 符号可以使其与关键字相同。即使在智能感知中出现了 @ 符号,它也可以正常工作。
unsafe
是一个关键字。我已经遇到了使用 @ 前缀使关键字可以用作标识符的情况。它出现在 intellisense 中,所以我认为它不起作用。但测试后发现它是正确的。鉴于没有其他答案,我接受了你的回答。然而,这不是正确的做法。因此,我取消了接受,并编辑了我的问题以包含解决方案。我认为这样做没什么问题。 - Fᴀʀʜᴀɴ Aɴᴀᴍ_unsafe
。你的方法会抛出异常。 - Fᴀʀʜᴀɴ Aɴᴀᴍ