首页 > 解决方案 > 无法访问基于标头 poco 类的行

问题描述

我遇到了最奇怪的错误。

Dim lines As List(Of NewOrderCsv) = (From record In _records Where record.Ticket2 = orderHeaderRow.Ticket2)

他们的错误发生在我声明 lines 对象时

    For Each line As NewOrderCsv In lines

        CreateSopOrderLine(orderHeaderRow, newMcsOrder, newMcsOrder.AnalysisCode1, orderHeaderRow.String15, newMcsOrder.AnalysisCode1, newMcsOrder.ContactName, orderHeaderRow.String3, line)

    Next

我主要是 ac# 程序员,如果这在 vb.net 中很容易,请原谅我

{“无法转换类型为 'WhereListIterator 1[AveryIntegration.Common.CSV.Records.NewOrderCsv]' to type 'System.Collections.Generic.List1[AveryIntegration.Common.CSV.Records.NewOrderCsv]' 的对象。”}

NewOrderCSV 的类是文件助手

Namespace CSV.Records
<DelimitedRecord(",")>
Public Class NewOrderCsv
    <FieldConverter(GetType(CustomStringConvertor))>
    <FieldQuoted>
    Public String2 As String

    <FieldConverter(GetType(CustomStringConvertor))>
    <FieldQuoted>
    Public String3 As String

    <FieldConverter(GetType(CustomStringConvertor))>
    <FieldQuoted>
    Public String4 As String

    <FieldConverter(GetType(CustomStringConvertor))>
    <FieldQuoted>
    Public String5 As String

    <FieldConverter(GetType(CustomStringConvertor))>
    <FieldQuoted>
    Public String10 As String

    <FieldConverter(GetType(CustomStringConvertor))>
    <FieldQuoted>
    Public String15 As String

    Public Decimal1 As Decimal

    Public Decimal5 As Decimal

    Public Decimal8 As Decimal

    Public Decimal9 As Decimal

    Public Decimal10 As Decimal

    Public Date1 As DateTime

    Public Ticket2 As Integer

    <DebuggerNonUserCode>
    Public Sub New()
        MyBase.New()
    End Sub
End Class

标签: vb.netfilehelpers

解决方案


我的方法是返回一个项目,当它应该被转换为列表时,我用它替换了该行,我不敢相信我没有看到。

Dim lines As List(Of NewOrderCsv) = (From record In _records Where record.Ticket2 = orderHeaderRow.Ticket2).ToList()

推荐阅读