in Source/Tx.Core/Csv/CsvExtensions.cs [54:84]
public void OnNext(T value)
{
if (!_wroteHeader)
{
WriteHeader(value);
_wroteHeader = true;
}
bool isFirst = true;
foreach (var p in typeof(T).GetTypeInfo().DeclaredProperties)
{
if (isFirst)
isFirst = false;
else
_writer.Write(_separator);
var propValue = p.GetValue(value, new object[] { });
if (propValue == null)
continue;
IDictionary dictionary = propValue as IDictionary;
if (dictionary == null)
_writer.Write(propValue.ToString());
else
WriteValuesAsRow(dictionary);
}
_writer.WriteLine();
}