using System; using ProtoBuf.Meta; namespace ProtoBuf.Serializers { internal sealed class TimeSpanSerializer : IProtoSerializer { public Type ExpectedType { get { return TimeSpanSerializer.expectedType; } } bool IProtoSerializer.RequiresOldValue { get { return false; } } bool IProtoSerializer.ReturnsValue { get { return true; } } private static readonly Type expectedType = typeof(TimeSpan); public TimeSpanSerializer(TypeModel model) { } public object Read(object value, ProtoReader source) { Helpers.DebugAssert(value == null); return BclHelpers.ReadTimeSpan(source); } public void Write(object value, ProtoWriter dest) { BclHelpers.WriteTimeSpan((TimeSpan)value, dest); } } }