예제 #1
0
        protected virtual object ResolveFixed(FixedSchema readerSchema, IReader d)
        {
            AvroFixed ru = new AvroFixed(readerSchema);

            byte[] bb = ((AvroFixed)ru).Value;
            d.ReadFixed(bb);
            return(ru.Value);
        }
예제 #2
0
        internal Encoder.WriteItem Resolve(FixedSchema es)
        {
            return((value, encoder) =>
            {
                if (!(value is Fixed) || !((AvroFixed)value).Schema.Equals(es))
                {
                    throw new AvroTypeMismatchException("[GenericFixed] required to write against [Fixed] schema but found " + value.GetType());
                }

                AvroFixed ba = (AvroFixed)value;
                encoder.WriteFixed(ba.Value);
            });
        }
예제 #3
0
        protected virtual object ResolveFixed(FixedSchema writerSchema, TypeSchema readerSchema, IReader d, Type type)
        {
            FixedSchema rs = (FixedSchema)readerSchema;

            AvroFixed ru = new AvroFixed(rs);

            byte[] bb = ((AvroFixed)ru).Value;
            d.ReadFixed(bb);

            if (type == typeof(Guid))
            {
                return(new Guid(ru.Value));
            }

            return(ru.Value);
        }