Интересный; тип bcl.DateTime
действительно предназначен для представления внутреннего формата DateTime
и не предназначен для непосредственного использования. Я, вероятно, должен исправить это, чтобы интерпретировать bcl.DateTime
как DateTime
во время перевода, но использование более типичное здесь (так как вы говорите о типах .NET, таких как DateTime
) было бы первым в коде т.е.
[ProtoContract]
class Test {
[ProtoMember(1, IsRequired = true)]
public DateTime AsOf {get;set;}
}
тогда это должно работать как нужно для целей protobuf и xs.
Вам нужен .proto здесь? Я могу это исправить, я просто хочу знать, требуется ли это.
В отношении комментариев / обновлений и повторного использования .proto - я настоятельно рекомендую использовать самый простой общий формат для значения времени - возможно, long
(или string
возможно) и либо использовать свойства shim в частичном классе, чтобы выставить двойное значение DateTime
для xs, или (возможно, лучше) использовать отдельный DTO для представления аспектов protobuf / xs и отображения между ними. .Proto не будет любить bcl.DateTime
между платформами.