告诉protobuf-net在使用反射构建模型时使用DataFormat.Wellknown



在使用反射构建模型时,我不知道如何告诉protobuf-net如何使用Google TimeStamp类型而不是protobuf-net类型,在这种情况下我无法注释应该序列化的类。

我像这样添加属性:

ProtoBuf.Meta.RuntimeTypeModel.Default[propertyInfo.DeclaringType].Add(tag, propertyInfo.Name); 

但是,如果我注释该属性,它将如下所示:

[ProtoContract]
public class TestClass
{
[ProtoMember(1, DataFormat = DataFormat.WellKnown) ]
public DateTime StartTime { get; set; }
}

所以基本上我需要告诉RuntimeTypeModel使用DataFormat.WellKnown

而不是Add(这是一个流畅的 API(,请使用AddField。这将返回字段的ValueMember,其中包括.DataFormat属性。

最新更新