public static void Main()
var dto = new Dto() { PropA = "A", PropB = "B", PropC = "C", PropD = "D" };
var engine = new DelimitedFileEngine(typeof(Dto));
string line = engine.WriteString(new [] { dto });
public string? PropA { get; set; }
public string? PropB { get; set; }
[FieldConverter(typeof(PadStringConverter), 10)]
public string? PropC { get; set; }
[FieldConverter(typeof(PadStringConverter), 10)]
public string? PropD { get; set; }
public class PadStringConverter : ConverterBase
public int Width { get; private set; }
public PadStringConverter(int width) => Width = width;
public override object StringToField(string from)
public override string? FieldToString(object fieldValue)
return fieldValue?.ToString().PadRight(Width);