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); }
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); }
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); }