我有以下课程:
public class Configuration
{
public Color ErrorColor { get; set; }
// other things
}
Color
结构在我正在使用的库中定义:
public struct Color
{
public Color(uint rawValue) { /* ... */ }
// other things
}
如果我试图去除以下数据:
{
"ErrorColor": 16711680
}
使用以下代码:
var config = JsonConvert.DeserializeObject<Configuration>(data);
抛出此异常:
Newtonsoft.Json.JsonSerializationException:'将值16711680转换为'Discord.Color'类型时出错。
如何在反序列化时让Newtonsoft调用此类型的构造函数?我知道你可以自定义JsonConverter
,但我只需要一个属性,而不是所有属性。