/// <summary> /// 往值写入器中写入一个列表。 /// </summary> /// <typeparam name="TValue">值的类型</typeparam> /// <param name="valueWriter">值读取器</param> /// <param name="list">列表</param> public static void WriteList <TValue>(this IValueWriter valueWriter, List <TValue> list) { valueWriter.WriteArray(new ListRW <List <TValue>, TValue> { content = list }); }
public void WriteValue(IValueWriter valueWriter, T value) { if (valueWriter is IValueWriter <T> tWriter) { tWriter.WriteValue(value); return; } if (valueWriter is IValueWriter <IDataReader> iWriter) { iWriter.WriteValue(value); return; } if (IsArray) { valueWriter.WriteArray(value.As <int>()); } else { valueWriter.WriteObject(value.As <string>()); } }
public void OnReadValue(int key, IValueWriter valueWriter) { DataRowRW <DataRow> reader; if (valueWriter is IUsePool) { reader = DataRowRW; } else { reader = new DataRowRW <DataRow>(); } reader.Initialize(Content.Rows[key]); if (key != 0 && (Options & DataTableRWOptions.WriteToArrayFromBeginningSecondRows) != 0) { valueWriter.WriteArray(reader); } else { valueWriter.WriteObject(reader); } }
public void WriteValue(IValueWriter valueWriter, T value) { var dataReader = new OverrideDbDataReader(value); var toArrayReader = new TableToArrayReader(dataReader); valueWriter.WriteArray(toArrayReader); }
public void WriteValue(IValueWriter valueWriter, T value) { var dataReader = new DataSetRW(); dataReader.Initialize(value); valueWriter.WriteArray(dataReader); }
public void WriteValue(IValueWriter valueWriter, T value) { if (value == null) { valueWriter.DirectWrite(null); } else { valueWriter.WriteArray(ArrayRW <T> .Create(value)); } }
public void WriteValue(IValueWriter valueWriter, T value) { if (value == null) { valueWriter.DirectWrite(null); return; } var arrayWriter = ArrayRW <T> .Create(); arrayWriter.Initialize(value); valueWriter.WriteArray(arrayWriter); }
public void WriteValue(IValueWriter valueWriter, T value) { if (value == null) { valueWriter.DirectWrite(null); return; } var collectionRW = new CollectionRW <T, TValue>(); collectionRW.Initialize(value); valueWriter.WriteArray(collectionRW); }
public void WriteValue(IValueWriter valueWriter, T value) { if (value == null) { valueWriter.DirectWrite(null); return; } var listRW = new ListRW <T, TValue>(); listRW.Initialize(value); valueWriter.WriteArray(listRW); }
public void WriteValue(IValueWriter valueWriter, T value) { if (value == null) { valueWriter.DirectWrite(null); return; } var enumeratorReader = new EnumeratorReader <T, TValue>(); enumeratorReader.Initialize(value); valueWriter.WriteArray(enumeratorReader); }
public void WriteValue(IValueWriter valueWriter, TElement[] value) { if (value is null) { valueWriter.DirectWrite(null); } else if (valueWriter is IValueWriter <TElement[]> writer) { writer.WriteValue(value); } else { valueWriter.WriteArray(new ArrayRW <TElement>(value)); } }
public void WriteValue(IValueWriter valueWriter, T value) { if (value is null) { valueWriter.DirectWrite(null); return; } var enumeratorReader = new EnumeratorReader <T, TValue> { content = value }; valueWriter.WriteArray(enumeratorReader); }
public void WriteValue(IValueWriter valueWriter, T value) { if (value is null) { valueWriter.DirectWrite(null); return; } var collectionRW = new CollectionRW <T> { content = value }; valueWriter.WriteArray(collectionRW); }
public void WriteValue(IValueWriter valueWriter, FSharpList <T> value) { if (value is null) { valueWriter.DirectWrite(null); } else if (valueWriter is IValueWriter <FSharpList <T> > writer) { writer.WriteValue(value); } else { valueWriter.WriteArray(new FSharpListRW <T> { content = value }); } }
public void WriteValue(IValueWriter valueWriter, T value) { var enumerator = value?.GetEnumerator(); if (enumerator == null) { valueWriter.DirectWrite(null); return; } var enumeratorReader = new EnumeratorReader <IEnumerator <TValue>, TValue>(); enumeratorReader.Initialize(enumerator); valueWriter.WriteArray(enumeratorReader); }
public void WriteValue(IValueWriter valueWriter, T value) { if (value is null) { valueWriter.DirectWrite(null); } else if (valueWriter is IValueWriter <T> writer) { writer.WriteValue(value); } else { valueWriter.WriteArray(new ListRW <T, TValue> { content = value }); } }
public void WriteValue(IValueWriter valueWriter, T value) { var rw = new FSharpUnionRW <T> { Content = value }; var(caceInfo, values) = rw.GetUnionFields(); if (values != null && values.Length > 0) { valueWriter.WriteArray(rw); } else { valueWriter.WriteString(caceInfo.Name); } }
public void WriteValue(IValueWriter valueWriter, T value) { var enumerator = value?.GetEnumerator(); if (enumerator is null) { valueWriter.DirectWrite(null); return; } var enumeratorReader = new EnumeratorReader <IEnumerator <TValue>, TValue> { content = enumerator }; valueWriter.WriteArray(enumeratorReader); }
public void WriteValue(IValueWriter valueWriter, TArray value) { if (value is null) { valueWriter.DirectWrite(null); } else if (valueWriter is IValueWriter <TArray> writer) { writer.WriteValue(value); } else { var rw = new MultiDimArray <TArray, TElement> .FirstRW(); rw.Initialize(value); valueWriter.WriteArray(rw); } }
public void WriteValue(IValueWriter valueWriter, T value) { if (value == null) { valueWriter.DirectWrite(null); return; } var dictionaryRW = new DictionaryRW <T, TKey, TValue>(); dictionaryRW.Initialize(value); if (IsArray) { valueWriter.WriteArray(dictionaryRW.As <int>()); } else { valueWriter.WriteObject(dictionaryRW.As <string>()); } }
public void WriteValue(IValueWriter valueWriter, T value) { if (value == null) { valueWriter.DirectWrite(null); return; } if (valueWriter is IValueWriter <T> weiter) { weiter.WriteValue(value); return; } var reader = new DataTableRW <T>(valueWriter is ITargetedBind targeted && targeted.TargetedId != 0 ? targeted.GetDataTableRWOptions() : DefaultOptions); reader.Initialize(value); valueWriter.WriteArray(reader); }
public void WriteValue(IValueWriter valueWriter, T value) { if (value == null) { valueWriter.DirectWrite(null); return; } if (valueWriter is IValueWriter <T> tWriter) { tWriter.WriteValue(value); return; } var dataReader = new DataSetRW <T>(); dataReader.Initialize(value); valueWriter.WriteArray(dataReader); }
public void WriteValue(IValueWriter valueWriter, T value) { if (value is null) { valueWriter.DirectWrite(null); return; } if (valueWriter is IValueWriter <T> tWriter) { tWriter.WriteValue(value); return; } var dataReader = new DataSetRW <T> { dataset = value }; valueWriter.WriteArray(dataReader); }
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); }
public void WriteValue(IValueWriter valueWriter, T value) { if (valueWriter is IValueWriter <T> tWriter) { tWriter.WriteValue(value); } else if (valueWriter is IValueWriter <IDataReader <TKey> > tWriter2) { tWriter2.WriteValue(value); } else if (valueWriter is IValueWriter <IDataReader> tWriter3) { tWriter3.WriteValue(value); } else if (RWHelper.IsArrayKey <TKey>()) { valueWriter.WriteArray(value.As <int>()); } else { valueWriter.WriteObject(value.As <string>()); } }
public void WriteValue(IValueWriter valueWriter, T value) { switch (TypeInfo <Key> .BasicType) { case BasicTypes.SByte: case BasicTypes.Int16: case BasicTypes.Int32: case BasicTypes.Int64: case BasicTypes.Byte: case BasicTypes.UInt16: case BasicTypes.UInt32: case BasicTypes.UInt64: valueWriter.WriteArray(value.As <int>()); break; case BasicTypes.Char: case BasicTypes.String: valueWriter.WriteObject(value.As <string>()); break; default: throw new NotSupportedException(StringHelper.Format("Cannot write a '{0}', It's Key not supported.", typeof(T).Name)); } }
public void WriteValue(IValueWriter valueWriter, T value) { var reader = new OverrideDbDataReader(value, valueWriter is ITargetedBind targeted && targeted.TargetedId != 0 ? targeted.GetDataTableRWOptions() : DefaultOptions); valueWriter.WriteArray(reader); }
public override void OnReadValue(int key, IValueWriter valueWriter) { valueWriter.WriteArray(new ChildrenRW(this, key)); }
/// <summary> /// 往值写入器中写入一个数组。 /// </summary> /// <typeparam name="T">元素类型</typeparam> /// <param name="valueWriter">值写入器</param> /// <param name="array">数组</param> public static void WriteArray <T>(this IValueWriter valueWriter, T[] array) { valueWriter.WriteArray(new ArrayRW <T>(array)); }
public void WriteValue(IValueWriter valueWriter, T value) { var reader = new DbDataReaderReader(value, GetDataTableRWOptions(valueWriter)); valueWriter.WriteArray(reader); }