public string WriteDefaultLine(bool terminate, int fieldNum) { List <string> options = new List <string>(); if (!string.IsNullOrWhiteSpace(Units)) { options.Add($"{{{Units}}}"); } if (HasDefault) { options.Add($"Def: {Default}"); } if (Keys.Any()) { options.Add($"[{string.Join(", ", Keys)}]"); } if (ReferenceList.Any()) { options.Add($"RefList: [{string.Join(", ", ReferenceList)}]"); } if (ReferenceClassList.Any()) { options.Add($"RefClassList: [{string.Join(", ", ReferenceClassList)}]"); } if (ObjectList.Any()) { options.Add($"[{string.Join(", ", ObjectList)}]"); } if (AutoCalculatable) { options.Add("AC"); } if (AutoSizeable) { options.Add("AS"); } if (Required) { options.Add("REQ"); } options.Add($"#{fieldNum}"); return($" {(HasDefault ? Default : "")}{(terminate ? ";" : ",")} ! {Name} {string.Join(", ", options)}\n"); }