public override byte[] DeserializeImpl(TSource source, SerializationContext context) { int count = (int)context.DecodeUInt32(); byte[] value = new byte[count]; if (count > 0) { context.ReadBlock(value, 0, count); } return(value); }
public override string DeserializeImpl(TSource source, SerializationContext context) { int len = (int)context.DecodeUInt32(); string value; if (len == 0) { value = ""; } else { if (len > SerializationContext.InitialBufferLength) { context.CheckSpace(len); } context.ReadBlock(len); value = context.Intern(utf8.GetString(context.Workspace, 0, len)); } return(value); }
public override uint DeserializeImpl(TSource source, SerializationContext context) { return(context.DecodeUInt32()); }
public override ushort DeserializeImpl(TSource source, SerializationContext context) { uint value = context.DecodeUInt32(); checked { return((ushort)value); } }
public override sbyte DeserializeImpl(TSource source, SerializationContext context) { return((sbyte)SerializationContext.Zag(context.DecodeUInt32())); }