protobuf-net是否有办法以UTC格式自动编码DateTime值,但使用ToLocalTime解码?
我在不同时区的系统之间传递消息,并希望将我的DTO中的每个DateTime属性序列化为UTC(在编码之前基本上自动调用ToUniversalTime)并在LocalTime中解码,以便自动接收消息的系统可以运行在LocalTime中的DateTime属性中,开发人员不必记得在每个属性上调用TooocalTime来通过网络接收DTO吗?
答案 0 :(得分:1)
对于这种类型的转换,通常的方法是有两个属性:
[ProtoMember(n, ...)]
public DateTime When { get; set; }
public DateTime WhenLocal => When.ToLocal(); // etc
序列化器不关心没有属性的那个。如果您真的不希望呼叫者使用它,那么序列化程序属性可能是私有的。