Best practices for serializing objects to a custom string format for use in an output file

Here is a generic fashion for creating CSV from a list of objects, using reflection: public static string ToCsv<T>(string separator, IEnumerable<T> objectlist) { Type t = typeof(T); FieldInfo[] fields = t.GetFields(); string header = String.Join(separator, fields.Select(f => f.Name).ToArray()); StringBuilder csvdata = new StringBuilder(); csvdata.AppendLine(header); foreach (var o in objectlist) csvdata.AppendLine(ToCsvFields(separator, fields, o)); return csvdata.ToString(); } … Read more