Skip to content
This repository was archived by the owner on Dec 24, 2022. It is now read-only.

Commit fbe7388

Browse files
committed
handle object will null properties
1 parent 9eb3f93 commit fbe7388

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

src/ServiceStack.Text/CsvWriter.cs

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ public static void WriteObjectRow(TextWriter writer, IEnumerable<object> row)
3333
writer.Write(CsvConfig.RowSeparatorString);
3434
}
3535

36-
public static void Write(TextWriter writer, IEnumerable<IDictionary<string, object>> records)
36+
public static void Write(TextWriter writer, IEnumerable<IDictionary<string, object>> records)
3737
{
3838
if (records == null) return; //AOT
3939

@@ -42,10 +42,13 @@ public static void Write(TextWriter writer, IEnumerable<IDictionary<string, obje
4242
{
4343
if (requireHeaders)
4444
{
45-
WriteRow(writer, record.Keys);
45+
if (record != null)
46+
WriteRow(writer, record.Keys);
47+
4648
requireHeaders = false;
4749
}
48-
WriteObjectRow(writer, record.Values);
50+
if (record != null)
51+
WriteObjectRow(writer, record.Values);
4952
}
5053
}
5154

@@ -232,7 +235,7 @@ public static void Write(TextWriter writer, IEnumerable<T> records)
232235
return;
233236
}
234237

235-
if (typeof(T).IsAssignableFromType(typeof(Dictionary<string, object>)))
238+
if (typeof(T).IsAssignableFromType(typeof(Dictionary<string, object>))) //also does `object`
236239
{
237240
var dynamicList = records.Select(x => x.ToObjectDictionary()).ToList();
238241
CsvDictionaryWriter.Write(writer, dynamicList);

0 commit comments

Comments
 (0)