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

Tell protobuf-net to use DataFormat.WellKnown when building model using reflection

我不知道如何告诉 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。此returns为ValueMember字段,其中包括.DataFormat属性.