static BssomSerialize_MyImage() { Input = RandomHelper.RandomValueWithOutStringEmpty <MyImage>(); Input.Binary = new byte[4096 * 200]; OutPut = Serializer.BssomSerializer.Serialize(Input); UpdateDateOffsetInfo = BssomFieldMarshaller.IndexOf(OutPut, 0, OutPut.Length, "[UpdateTime]"); }
public IEnumerator <KeyValuePair <TKey, TValue> > GetEnumerator() { for (int i = 0; i < Count; i++) { TKey key = KeyFormatter.Deserialize(ref _reader, ref _context); if (IsOnlyReadFieldOffset) { BssomFieldOffsetInfo offset = new BssomFieldOffsetInfo(_reader.Position); yield return(new KeyValuePair <TKey, TValue>(key, Unsafe.As <BssomFieldOffsetInfo, TValue>(ref offset))); } else { yield return(new KeyValuePair <TKey, TValue>(key, ValueFormatter.Deserialize(ref _reader, ref _context))); } } }
public object ReadObjectElement(ref BssomReader reader, BssomSerializerOptions option, BssomFieldOffsetInfo offsetInfo) { return(ReadElement(ref reader, option, offsetInfo)); }
public void WriteObjectElement(ref BssomWriter writer, BssomSerializerOptions option, BssomFieldOffsetInfo offsetInfo, object value) { WriteElement(ref writer, option, offsetInfo, (Int16)value); }
public DateTime ReadElement(ref BssomReader reader, BssomSerializerOptions option, BssomFieldOffsetInfo offsetInfo) { if (offsetInfo.Array1ElementTypeIsNativeType == false && offsetInfo.Array1ElementType == BssomType.TimestampCode) { return(reader.ReadStandDateTimeWithOutTypeHead()); } else if (offsetInfo.Array1ElementTypeIsNativeType == true && offsetInfo.Array1ElementType == NativeBssomType.DateTimeCode) { return(reader.ReadNativeDateTimeWithOutTypeHead()); } else { return(BssomSerializationArgumentException.InvalidOffsetInfoFormat <DateTime>()); } }
public void WriteElement(ref BssomWriter writer, BssomSerializerOptions option, BssomFieldOffsetInfo offsetInfo, DateTime value) { if (offsetInfo.Array1ElementTypeIsNativeType == false && offsetInfo.Array1ElementType == BssomType.TimestampCode) { writer.Write(value, true, false); } else if (offsetInfo.Array1ElementTypeIsNativeType == true && offsetInfo.Array1ElementType == NativeBssomType.DateTimeCode) { writer.Write(value, false, false); } else { BssomSerializationArgumentException.InvalidOffsetInfoFormat <DateTime>(); } }
public Guid ReadElement(ref BssomReader reader, BssomSerializerOptions option, BssomFieldOffsetInfo offsetInfo) { if (offsetInfo.Array1ElementTypeIsNativeType == true && offsetInfo.Array1ElementType == NativeBssomType.GuidCode) { return(reader.ReadGuidWithOutTypeHead()); } return(BssomSerializationArgumentException.InvalidOffsetInfoFormat <Guid>()); }
public void WriteElement(ref BssomWriter writer, BssomSerializerOptions option, BssomFieldOffsetInfo offsetInfo, Decimal value) { if (offsetInfo.Array1ElementTypeIsNativeType == true && offsetInfo.Array1ElementType == NativeBssomType.DecimalCode) { writer.WriteWithOutTypeHead(value); } else { BssomSerializationArgumentException.InvalidOffsetInfoFormat <Decimal>(); } }
public void WriteElement(ref BssomWriter writer, BssomSerializerOptions option, BssomFieldOffsetInfo offsetInfo, BssomDecimal value) { WriteElement(ref writer, option, offsetInfo, value.RawValue); }
public object ReadObjectElement(ref BssomReader reader, BssomSerializerOptions option, BssomFieldOffsetInfo offsetInfo) { throw new NotImplementedException(); }
public void WriteObjectElement(ref BssomWriter writer, BssomSerializerOptions option, BssomFieldOffsetInfo offsetInfo, object value) { throw new NotImplementedException(); }
public Object ReadElement(ref BssomReader reader, BssomSerializerOptions option, BssomFieldOffsetInfo offsetInfo) { IArray1ElementWriter array1ElementWriter = Array1ElementWriterContainers.GetArray1ElementWriter(offsetInfo.Array1ElementTypeIsNativeType, offsetInfo.Array1ElementType); return(array1ElementWriter.ReadObjectElement(ref reader, option, offsetInfo)); }
public void WriteElement(ref BssomWriter writer, BssomSerializerOptions option, BssomFieldOffsetInfo offsetInfo, Object value) { if (value is null) { throw new ArgumentNullException(nameof(value)); } IArray1ElementWriter array1ElementWriter = Array1ElementWriterContainers.GetArray1ElementWriter(offsetInfo.Array1ElementTypeIsNativeType, offsetInfo.Array1ElementType); array1ElementWriter.WriteObjectElement(ref writer, option, offsetInfo, value); }
public static T ReadElement(ref BssomReader reader, BssomSerializerOptions option, BssomFieldOffsetInfo offsetInfo) { return(_controller.ReadElement(ref reader, option, offsetInfo)); }
public static void WriteElement(ref BssomWriter writer, BssomSerializerOptions option, BssomFieldOffsetInfo offsetInfo, T value) { _controller.WriteElement(ref writer, option, offsetInfo, value); }
public void WriteElement(ref BssomWriter writer, BssomSerializerOptions option, BssomFieldOffsetInfo offsetInfo, Int32 value) { if (offsetInfo.Array1ElementTypeIsNativeType == false && offsetInfo.Array1ElementType == BssomType.Int32Code) { writer.WriteWithOutTypeHead(value); } else { BssomSerializationArgumentException.InvalidOffsetInfoFormat <Int32>(); } }
public Int32 ReadElement(ref BssomReader reader, BssomSerializerOptions option, BssomFieldOffsetInfo offsetInfo) { if (offsetInfo.Array1ElementTypeIsNativeType == false && offsetInfo.Array1ElementType == BssomType.Int32Code) { return(reader.ReadInt32WithOutTypeHead()); } return(BssomSerializationArgumentException.InvalidOffsetInfoFormat <Int32>()); }
BssomDecimal IArray1ElementWriter <BssomDecimal> .ReadElement(ref BssomReader reader, BssomSerializerOptions option, BssomFieldOffsetInfo offsetInfo) { return((BssomDecimal)BssomValue.Create(ReadElement(ref reader, option, offsetInfo))); }