Csharp/C#教程:FileHelpers库可以编写包含可空字段的类以及读取它们吗?分享


FileHelpers库可以编写包含可空字段的类以及读取它们吗?

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

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

[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.Field上的FileHelpers.FieldBield.CreateFieldString(StringBuilder sb,Object fieldValue)中的FileHelpers.FieldBase.BieldFieldString(Object fieldValue)中的FileHelpers.ConvertHelpers.CultureConverter.FieldToString(Object from)位于FileHelpers.FieldBase.AssignToString(StringBuilder sb,Object fieldValue)位于FileHelpers.FileHelperEngine的.RecordInfo.RecordToString(对象记录) 1.WriteStream(TextWriter writer, IEnumerable 1条记录,Int32 maxRecords)位于FileHelpers.FileHelperEngine 1.WriteFile(String fileName, IEnumerable 1条记录,Int32 maxRecords)位于FileHelpers.FileHelperEngine 1.WriteFile(String fileName, IEnumerable 1条记录)位于C: dev src TestingFileHelpers TestingFileHelpers Program.cs中的TestingFileHelpers.Program.Main(String [] args):System.AppDomain._nExecuteAssembly中的第19行(RuntimeAssembly assembly,String [] args)在Microsoft.VisualStudio.HostingProcess.HostProc.RunUser上的System.AppDomain.ExecuteAssembly(String assemblyFile,Evidence assemblySecurity,String [] args) System.Threading.ExecutionContext.Run(ExecutionContext executionContext,ContextCallback回调,对象状态,布尔值ignoreSyncCtx)的System.Threading.ThreadHelper.ThreadStart_Context(对象状态)中的sAssembly()位于System.Threading.ExecutionContext.Run(ExecutionContext executionContext,ContextCallback回调) ,对象状态)在System.Threading.ThreadHelper.ThreadStart()

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

你可以尝试使用该库的最新版本:

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

如果该版本点修复错误只是在评论中告诉我,我将向lib添加一个测试用例以确保它有效

使用[FieldNullValue("")]属性指定空字段的默认值。

上述就是C#学习教程:FileHelpers库可以编写包含可空字段的类以及读取它们吗?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1042874.html

(0)
上一篇 2022年1月31日
下一篇 2022年1月31日

精彩推荐