有可能以某种方式将 id 设置为对象吗?
这是示例代码
6V0iIqu3smGmadPK4KvRuHm1nNkuIVLBPbLg7VkA7M8=
答案 0 :(得分:0)
答案 1 :(得分:0)
是的,可以做到,如果你像这样声明MovieId
,你可以像传递一个类对象一样思考。
public record MovieId
{
Guid _id;
public MovieId(Guid id)
{
_id = id;
}
}
答案 2 :(得分:0)
好的,我做了一些研究,找到了解决我的问题的方法,感谢大家的帮助
[JsonConverter(typeof(IdConverter))]
public record BaseId(Guid Value);
public class IdConverter : JsonConverter
{
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
var id = (BaseId)value;
serializer.Serialize(writer, id.Value);
}
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
{
var guid = serializer.Deserialize<Guid>(reader);
return new BaseId(guid);
}
public override bool CanConvert(Type objectType)
{
return objectType == typeof(BaseId);
}
}