Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# FieldOptional文件助手必须标记为可选,因为上一个字段标记为可选_C#_.net_Filehelpers - Fatal编程技术网

C# FieldOptional文件助手必须标记为可选,因为上一个字段标记为可选

C# FieldOptional文件助手必须标记为可选,因为上一个字段标记为可选,c#,.net,filehelpers,C#,.net,Filehelpers,我正在使用filehelpers 2.9.9并尝试使用FileDoOptional,但我一直遇到此错误 字段:SystemUrl必须标记为可选,因为上一个字段标记为可选。(尝试将[FieldOptional]添加到系统URL) SystemUrl是第一个字段,我将其标记为FieldOptional。之后的其他字段是否也需要标记为可选 SystemUrl是第一个字段,我将其标记为FieldOptional。之后的其他字段是否也需要标记为可选 对。将字段标记为可选后,所有后续字段也必须是可选的 如果

我正在使用filehelpers 2.9.9并尝试使用FileDoOptional,但我一直遇到此错误

字段:SystemUrl必须标记为可选,因为上一个字段标记为可选。(尝试将[FieldOptional]添加到系统URL)

SystemUrl是第一个字段,我将其标记为FieldOptional。之后的其他字段是否也需要标记为可选

SystemUrl是第一个字段,我将其标记为FieldOptional。之后的其他字段是否也需要标记为可选

对。将字段标记为可选后,所有后续字段也必须是可选的


如果您不希望出现这种行为,则需要将
SystemUrl
移到末尾,而不是首先使用它。

可能问题在于FieldOptional的作用:它必须用于文件中可以存在或不存在的字段,它们必须位于记录类的末尾,如果您有3个字段Field1、Field2和Field3(所有字符串),并且

stringA,stringB,stringC
稍后,您将Field2设置为可选,使用该字段库可以解析:

stringA,stringB
因为我无法消除它的歧义


你能提供一份样品记录吗?如果您不想处理该字段,可能需要FieldNotInFile而不是optional。

这是一种奇怪的行为,当您不想让其他内容可选时,它会强制将其设置为optional。如果他们在文档中说明这一点,那就太好了。如果您使用FieldOrder,您是否也必须删除它?@chobo2不确定-但它要求所有可选值都是最后一个值,因为这样它可以在缺少内容时正确解析。