Exemplo n.º 1
0
        public T ReadValue(IValueReader valueReader)
        {
            if (valueReader is IValueReader <T> reader)
            {
                return(reader.ReadValue());
            }

            var writer = new DataTableRW <T>(GetDataTableRWOptions(valueReader));

            valueReader.ReadArray(writer);

            return(writer.datatable);
        }
Exemplo n.º 2
0
        public T ReadValue(IValueReader valueReader)
        {
            var result = Activator.CreateInstance <T>();

            var dataReader = new DataTableRW();

            dataReader.Initialize(result);

            var toArrayWriter = new TableToArrayWriter(dataReader);

            valueReader.ReadArray(toArrayWriter);

            return(result);
        }
Exemplo n.º 3
0
        public void WriteValue(IValueWriter valueWriter, T value)
        {
            if (value is null)
            {
                valueWriter.DirectWrite(null);

                return;
            }

            if (valueWriter is IValueWriter <T> weiter)
            {
                weiter.WriteValue(value);

                return;
            }

            var reader = new DataTableRW <T>(GetDataTableRWOptions(valueWriter))
            {
                datatable = value
            };

            valueWriter.WriteArray(reader);
        }