Описание тега filehelpers
FileHelpers - это служебная библиотека, которая помогает приложениям.NET Framework управлять вводом и выводом плоских файлов. Основная часть библиотеки находится в сборке с несколькими классами "движка", которые используются для управления вводом-выводом вместе с атрибутами, которые используются для украшения классов в вашем приложении.
Ваш код использует эти атрибуты для определения записей:
namespace OBG.FileHelpers.Tests
{
[FixedLengthRecord(FixedMode.ExactLength)]
internal class FixedRec1
{
[FieldFixedLength(10)]
[FieldAlign(AlignMode.Left)]
[FieldNullValue("n/a")]
[FieldTrim(TrimMode.Both)]
public String String10Field1;
[FieldFixedLength(10)]
[FieldConverter(ConverterKind.Date)]
public DateTime DateField2;
[FieldFixedLength(12)]
[FieldConverter(typeof(MoneyFieldConverter))]
public decimal MoneyField3;
}
}
Затем для чтения или записи файлов один из механизмов FileHelper работает с записями, которые вы определили для обработки, форматирования и проверки данных:
var recs = new List<FixedRec1>();
recs.Add(new FixedRec1 { String10Field1 = "abc", DateField2 = DateTime.Today, MoneyField3 = 123.45M });
// Show truncation of field 1
recs.Add(new FixedRec1 { String10Field1 = "abcdefghijklmnopqrstuvwxyz", DateField2 = DateTime.Today, MoneyField3 = 123.45M });
// Show null translation of field 1
recs.Add(new FixedRec1 { DateField2 = DateTime.Today, MoneyField3 = 123.45M });
// Show illegal value for field3
recs.Add(new FixedRec1 { String10Field1 = "abc", DateField2 = DateTime.Today, MoneyField3 = -0.00001M });
// To write, use:
engine.WriteFile("FileOut.txt", recs.ToArray());
Вы можете расширить FileHelpers, создав свои собственные настраиваемые атрибуты, такие как конвертеры для обработки форматов, изначально не предоставляемых FileHelpers.
FileHelpers - это программное обеспечение с открытым исходным кодом, выпущенное MIT.
Roslyn Analyzer
Лучшие практики и быстрые исправления для библиотеки:
Ссылки
- Домашняя страница продукта
- Пакет NuGet
- Roslyn Analyzer.
- Исходный код доступен на GitHub.
- Руководство для авторов.