![](/img/trans.png)
[英]How to use MessagePack-CSharp with string JSON? Not is CLI, is neuecc/MessagePack-CSharp
[英]MessagePack-CSharp: Serializing properties with generic types
我正在尝试使用MessagePack-CSharp package 序列化具有通用属性的 class。 这是我正在尝试做的最小可重复示例:
using MessagePack;
[MessagePackObject(keyAsPropertyName: true)]
public class Data<T>
{
T data { get; set; }
public Data(T data)
{
this.data = data;
}
}
Data<int> testData = new(1);
byte[] bytes = MessagePackSerializer.Serialize(testData);
Console.WriteLine(MessagePackSerializer.ConvertToJson(bytes));
正如所写的那样,该程序将抛出一个关于无法找到匹配的构造函数的异常。 如果我添加一个带有空主体的无参数构造函数,它不再抛出 - 但会在我真正想要{ "data": 1 }
时将{}
作为转换后的 JSON 返回。 有可能做到这一点吗?
我真的很愚蠢,我需要指定public T data { get; set; }
public T data { get; set; }
public T data { get; set; }
。 或者,MessagePack-CSharp README 包含有关如何告诉序列化程序以私有字段为目标的信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.