Может ли библиотека FileHelpers записывать классы, содержащие поля, допускающие значение NULL, а также читать их?

Я использую версию 2.0 библиотеки FileHelpers, которая документирована как способная обрабатывать типы .NET 2.0, допускающие значение NULL.

Я использую код, приведенный в примере из документации:

[DelimitedRecord("|")]   
public class Orders   
{   
    public int OrderID;   

    public DateTime? OrderDate;   

    [FieldConverter(ConverterKind.Date, "ddMMyyyy")]     
    public DateTime? RequiredDate;   

    public int? ShipVia;   
}   

С помощью FileHelperEngine я могу успешно читать файл, в котором нет значений для полей OrderDate, RequiredDate или ShipVia. Файл выглядит так:

1 | ||

Однако, в FileHelpers.FieldBase.BaseFieldString (Object fieldValue) в FileHelpers.DelimitedField.CreateFieldString (StringBuilder sb, Object fieldValue) в FileHelpers.FieldBase.AssignToString (StringBuilder sb, Object fieldValue) в FileHelpers.RecordInfo.RecordToString (запись объекта) в FileHelpers.FileHelperEngine 1.WriteStream (писатель TextWriter, IEnumerable 1 записи, Int32 maxRecords) в FileHelpers.FileHelperEngine 1.WriteFile (String fileName, IEnumerable 1 записи, Int32 maxRecords) в FileHelpers.FileHelperEngine 1.WriteFile (String fileName, IEnumerable 1 записей) в TestingFileHelpers.Program.Main (String [] args) в C: \ dev \ src \ TestingFileHelpers \ TestingFileHelpers \ Program.cs: строка 19 в System.AppDomain._nExecuteAssembly (сборка RuntimeAssembly, String [] args) в System.AppDomain.ExecuteAssembly (String assemblyFile, Evidence assemblySecurity, String [] args) в Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly () в System.Threading.ThreadHelper.ThreadStart_Context (состояние объекта) в System.Threading.ExecutionContext.Run (контекст выполнения ExecutionContext, обратный вызов ContextCallback, состояние объекта, логическое значение ignoreSyncCtx) в System.Threading.ExecutionContext.Run (контекст выполнения ExecutionContext, обратный вызов ContextCallback, состояние объекта) в System.Threading.ThreadHelper.ThreadStart ()

Я уверен, что мне что-то здесь не хватает, но я не могу понять, что это такое. Любая помощь очень ценится.

5
задан skaffman 21 February 2011 в 13:02
поделиться