private void WriteTimeSpan(TimeSpan value)
{
#if DEBUG
checked
{
#endif
var ticks = value.Ticks;
if(ticks == 0L)
{
WriteObjectTypeCode(ObjectTypeCode.TimeSpanZero);
}
else if(ticks >= short.MinValue && ticks <= short.MaxValue)
{
WriteObjectTypeCode(ObjectTypeCode.TimeSpanInt16);
Output.Write((short)ticks);
}
else if(ticks >= int.MinValue && ticks <= int.MaxValue)
{
WriteObjectTypeCode(ObjectTypeCode.TimeSpanInt32);
Output.Write((int)ticks);
}
else
{
WriteObjectTypeCode(ObjectTypeCode.TimeSpan);
Output.Write(ticks);
}
#if DEBUG
}
#endif
}