【发布时间】:2011-10-17 21:26:28
【问题描述】:
我正在使用 JSON.net(可能是 v3.5ish?它来自 2010 年 10 月)。我正在尝试将一些 json 反序列化为枚举:
geometryType: "esriGeometryPolygon"
我有这个枚举:
/// <summary>
/// The geometry type.
/// </summary>
[DataContract]
public enum GeometryType
{
/// <summary>
/// Refers to geometry type Envelope
/// </summary>
[EnumMember(Value = "esriGeometryEnvelope")]
Envelope,
/// <summary>
/// Refers to geometry type MultiPoint
/// </summary>
[EnumMember(Value = "esriGeometryMultipoint")]
MultiPoint,
/// <summary>
/// Refers to geometry type MapPoint
/// </summary>
[EnumMember(Value = "esriGeometryPoint")]
Point,
/// <summary>
/// Refers to geometry type Polygon
/// </summary>
[EnumMember(Value = "esriGeometryPolygon")]
Polygon,
/// <summary>
/// Refers to geometry type Polyline
/// </summary>
[EnumMember(Value = "esriGeometryPolyline")]
Polyline
}
但它会抛出一个错误,提示“将值“esriGeometryPolygon”转换为类型'...GeometryType'时出错。
我在这里错过了什么?
是不是因为它是旧版本(我使用的是单点触控端口:https://github.com/chrisntr/Newtonsoft.Json,一年没有更新)?还是我的数据合同弄错了?
编辑:我将最新的 JSON.NET 移植到 MT,但仍然遇到完全相同的错误。
【问题讨论】:
-
如果您在 C# 中重命名 Enum 值以完全匹配 JSON,有什么区别? (而不是尝试使用 EnumMember 属性)
标签: c# xamarin.ios json.net