Написание заголовка с использованием CsvHelper? C #

Я использую CsvHelper. Написать в.csv файл, мне нужен заголовок на основе класса.

Я пишу заголовок вручную, и он работает, но мне нужно сделать это автоматически, когда он прочитан.

Вся документация, которую я могу найти, говорит об использовании этого выражения,writer.WriteHeader<CSVDataFormat>(); но это не работает, потому что нужно больше работать с ним.

Вот класс, на котором должен основываться заголовок:

public class CSVDataFormat
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public float Wage { get; set; }
}

Вот код для чтения и записи:

private void ReadCSV(string ogCsvFile)
{
        using (var streamReaederfileDir = new StreamReader(@ogCsvFile))
        {
            using (var streamWriterFileDir = new StreamWriter(Path.Combine(Path.GetDirectoryName(ogCsvFile), "New" + Path.GetFileName(ogCsvFile))))
            {
                var reader = new CsvReader(streamReaederfileDir);
                var writer = new CsvWriter(streamWriterFileDir);

                writer.WriteHeader<CSVDataFormat>();

                IEnumerable records = reader.GetRecords<CSVDataFormat>().ToList();

                foreach (CSVDataFormat record in records)
                {
                    record.Wage = record.Wage + (record.Wage / 10);
                    writer.WriteField(record.FirstName);
                    writer.WriteField(record.LastName);
                    writer.WriteField(record.Wage);
                    writer.NextRecord();
                }
            }
        }
}

Обновить

Это ошибка, которую я получаю, когда запускаю свой код:

Произошло необработанное исключение типа CsvHelper.CsvMissingFieldException в CsvHelper.dll

Дополнительная информация: Поля «FirstName» не существуют в файле CSV.

Ответы на вопрос(2)

Ваш ответ на вопрос