gpt4 book ai didi

c# - FileHelpers 库能否编写包含可为空字段的类以及读取它们?

转载 作者:太空狗 更新时间:2023-10-29 23:34:31 26 4
gpt4 key购买 nike

我正在使用 FileHelpers 库的 2.0 版,该库被记录为能够处理 .NET 2.0 可空类型。

我正在使用文档示例中给出的代码:

[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|||

但是,我无法将生成的 Orders[] 写入文件 - 库抛出 NullReferenceException,堆栈跟踪如下:

在 FileHelpers.ConvertHelpers.CultureConverter.FieldToString(对象来自) 在 FileHelpers.FieldBase.BaseFieldString(对象字段值) 在 FileHelpers.DelimitedField.CreateFieldString(StringBuilder sb,对象字段值) 在 FileHelpers.FieldBase.AssignToString(StringBuilder sb,对象字段值) 在 FileHelpers.RecordInfo.RecordToString(对象记录) 在 FileHelpers.FileHelperEngine1.WriteStream(TextWriter 编写器,IEnumerable1 条记录,Int32 maxRecords) 在 FileHelpers.FileHelperEngine1.WriteFile(String fileName, IEnumerable1 records, Int32 maxRecords) 在 FileHelpers.FileHelperEngine1.WriteFile(String fileName, IEnumerable1 条记录) 在 C:\dev\src\TestingFileHelpers\TestingFileHelpers\Program.cs 中的 TestingFileHelpers.Program.Main(String[] args):第 19 行 在 System.AppDomain._nExecuteAssembly(RuntimeAssembly 程序集,String[] args) 在 System.AppDomain.ExecuteAssembly(字符串 assemblyFile,证据 assemblySecurity,字符串 [] args) 在 Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly() 在 System.Threading.ThreadHelper.ThreadStart_Context(对象状态) 在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext,ContextCallback 回调,对象状态, bool 值 ignoreSyncCtx) 在 System.Threading.ExecutionContext.Run(ExecutionContext executionContext,ContextCallback 回调,对象状态) 在 System.Threading.ThreadHelper.ThreadStart()

我确定我一定在这里遗漏了一些东西,但我无法弄清楚它是什么。非常感谢任何帮助。

最佳答案

你能试试最新版本的库吗:

http://teamcity.codebetter.com/viewLog.html?buildId=21768&tab=artifacts&buildTypeId=bt65 (以访客身份登录)

如果该版本点修复了错误,请在评论中告诉我,我会向库中添加一个测试用例以确保其正常工作

关于c# - FileHelpers 库能否编写包含可为空字段的类以及读取它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5066255/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com