Моя программа будет иметь создавать файлы в виде трех способов, как показано нижеFileHelpers разное количество полей
1 case: all fields and create file
2 case: without Variation2 and Merkmalname2
3 case: without Variation2 and Merkmalname2 and Variation3 and Merkmalname3
код класса:
Imports FileHelpers
<DelimitedRecord(",")>
Public Class CSV
<FieldQuoted(QuoteMode.AlwaysQuoted)>
Public Artikelnummer As String
<FieldQuoted(QuoteMode.AlwaysQuoted)>
Public Variation1 As String
<FieldQuoted(QuoteMode.AlwaysQuoted), FieldOptional()>
Public Variation2 As String
<FieldQuoted(QuoteMode.AlwaysQuoted), FieldOptional()>
Public Variation3 As String
<FieldQuoted(QuoteMode.AlwaysQuoted)>
Public Barcode As String
<FieldQuoted(QuoteMode.AlwaysQuoted)>
Public Merkmalname1 As String
<FieldQuoted(QuoteMode.AlwaysQuoted), FieldOptional()>
Public Merkmalname2 As String
<FieldQuoted(QuoteMode.AlwaysQuoted), FieldOptional()>
Public Merkmalname3 As String
End Class
поэтому я отмечены эти поля как необязательные. Однако я получаю сообщение об ошибке.
первый случай:
Dim WithAll = New CSV() With {
.Artikelnummer = "my artikelname 2",
.Variation1 = "my variation 2",
.Variation2 = "my variation 2",
.Variation3 = "my variation 2",
.Barcode = "barcode 2",
.Merkmalname1 = "blabla 2",
.Merkmalname2 = "blabla 2",
.Merkmalname3 = "blabla 2"}
engine.HeaderText = engine.GetFileHeader
engine.WriteFile("Output.txt", WithAll)
второй случай:
Dim WithTwo = New CSV() With {
.Artikelnummer = "my artikelname 2",
.Variation1 = "my variation 2",
.Variation2 = "my variation 2",
.Barcode = "barcode 2",
.Merkmalname1 = "blabla 2",
.Merkmalname2 = "blabla 2"}
engine.HeaderText = engine.GetFileHeader
engine.WriteFile("Output.txt", WithTwo)
третий случай:
Dim WithOne = New CSV() With {
.Artikelnummer = "my artikelname 2",
.Variation1 = "my variation 2",
.Barcode = "barcode 2",
.Merkmalname1 = "blabla 2"}
engine.HeaderText = engine.GetFileHeader
engine.WriteFile("Output.txt", WithOne)
Ошибка я получаю для всех случаев:
An unhandled exception of type 'FileHelpers.BadUsageException' occurred in FileHelpers.dll
Additional information: The field: VariationswertX must be marked as optional because the previous field is marked as optional. (Try adding [FieldOptional] to VariationswertX)