public static T Read <T>(string hexBuffer, CborOptions options = null) { options = options ?? CborOptions.Default; Span <byte> buffer = hexBuffer.HexToBytes(); CborReader reader = new CborReader(buffer); ICborConverter <T> converter = options.Registry.ConverterRegistry.Lookup <T>(); return(converter.Read(ref reader)); }
public static T Deserialize <T>( ReadOnlySpan <byte> buffer, CborOptions?options = null) { options ??= CborOptions.Default; CborReader reader = new CborReader(buffer); ICborConverter <T> converter = options.Registry.ConverterRegistry.Lookup <T>(); return(converter.Read(ref reader)); }
public static object?Deserialize( Type objectType, ReadOnlySpan <byte> buffer, CborOptions?options = null) { options ??= CborOptions.Default; CborReader reader = new CborReader(buffer); ICborConverter cborConverter = options.Registry.ConverterRegistry.Lookup(objectType); return(cborConverter.Read(ref reader)); }
public static string Write <T>(T value, CborOptions options = null) { options = options ?? CborOptions.Default; using (ByteBufferWriter bufferWriter = new ByteBufferWriter()) { CborWriter writer = new CborWriter(bufferWriter); ICborConverter <T> converter = options.Registry.ConverterRegistry.Lookup <T>(); converter.Write(ref writer, value); return(BitConverter.ToString(bufferWriter.WrittenSpan.ToArray()).Replace("-", "")); } }
public StructMemberConverter(CborConverterRegistry registry, IMemberMapping memberMapping) { MemberInfo?memberInfo = memberMapping.MemberInfo; if (memberInfo == null) { throw new CborException("MemberInfo must not be null"); } MemberNameAsString = memberMapping.MemberName !; _memberName = Encoding.UTF8.GetBytes(MemberNameAsString); _memberGetter = GenerateGetter(memberInfo); _memberSetter = GenerateSetter(memberInfo); _converter = (ICborConverter <TM>)memberMapping.Converter !; _defaultValue = (TM)memberMapping.DefaultValue !; _ignoreIfDefault = memberMapping.IgnoreIfDefault; _requirementPolicy = memberMapping.RequirementPolicy; }
public MemberConverter(CborConverterRegistry registry, IMemberMapping memberMapping) { MemberInfo?memberInfo = memberMapping.MemberInfo; if (memberInfo == null) { throw new CborException("MemberInfo must not be null"); } _memberName = Encoding.UTF8.GetBytes(memberMapping.MemberName !); _memberGetter = GenerateGetter(memberInfo); _memberSetter = GenerateSetter(memberInfo); _converter = (ICborConverter <TM>)memberMapping.Converter !; _defaultValue = (TM)memberMapping.DefaultValue !; _ignoreIfDefault = memberMapping.IgnoreIfDefault; _shouldSerializeMethod = memberMapping.ShouldSerializeMethod; _lengthMode = memberMapping.LengthMode; _requirementPolicy = memberMapping.RequirementPolicy; }
public MemberMapping <T> SetConverter(ICborConverter converter) { Converter = converter; return(this); }
public ArrayConverter(CborOptions options) { _options = options; _itemConverter = options.Registry.ConverterRegistry.Lookup <TI>(); }
public NullableConverter(CborOptions options) { this._cborConverter = options.Registry.ConverterRegistry.Lookup <T>(); }
/// <summary> /// Registers the converter. /// </summary> /// <param name="type">The type.</param> /// <param name="converter">The converter.</param> public bool RegisterConverter(Type type, ICborConverter converter) { return(_converters.TryAdd(type, converter)); }
public AbstractDictionaryConverter(CborOptions options) { _options = options; _keyConverter = options.Registry.ConverterRegistry.Lookup <TK>(); _valueConverter = options.Registry.ConverterRegistry.Lookup <TV>(); }
public AttributeBasedDiscriminatorConvention(SerializationRegistry serializationRegistry, string memberName) { _serializationRegistry = serializationRegistry; _memberName = Encoding.UTF8.GetBytes(memberName); _converter = serializationRegistry.ConverterRegistry.Lookup <T>(); }
public AbstractCollectionConverter(CborOptions options) { _options = options; _itemConverter = options.Registry.ConverterRegistry.Lookup <TI>(); }