Я сериализую ряд различных объектов POCO, которые все наследуются от общего абстрактного класса, например, AbstractBaseClass
. При сериализации этого класса я использую метод WriteRecords<dynamic>
, который принимает практически все и якобы использует отражение для записи свойств в CSV.
Проблема, с которой я столкнулся, заключается в том, что мне нужны поля базового класса прийти первым в файле. Похоже, что поведение CsvHelper по умолчанию ставит их последними.
Я вижу, что существует способ создания картографа для индексации полей, но это довольно сложно сделать для каждого из множества типов, наследуемых от AbstractBaseClass
. Я хотел бы настроить это только один раз, и он будет работать для всего, что наследуется от указанного класса. Еще лучше было бы переключение, которое может позволить мне изменить способ поиска полей в дереве наследования CsvHelper.