我有一个VB.Net应用程序,它试图使用Linq将DataTable中的行转换为通用的对象列表。
这是我的班级(对象)定义:
sed 's/\x1b\[.*\x1b\[//'
以下是我用来转换为List(T)的代码段:
Public Class Sample
Public Property Field1 As String = ""
Public Property Field2 As String = ""
End Class
代码编译正常,但我得到以下异常:
“找不到'String'类型的公共成员'Field2'。”
如果我只做1个字段,则该语句可以正常工作。 如果我颠倒“With”子句中字段的顺序,我会得到以下异常:
未找到“String”类型的公共成员“Field1”
我做错了什么? 我的Linq定义有问题吗?
由于
答案 0 :(得分:0)
代码段缺少字段定义之间的逗号。
With {.Field1 = IIf(String.IsNullOrEmpty(dr.Field(Of String)(0)), "Missing Field1", dr.Field(Of String)(0)) _
.Field2 = IIf(String.IsNullOrEmpty(dr.Field(Of String)(1)), "Missing FIeld2", dr.Field(Of String)(1))}
应该是:
With {.Field1 = IIf(String.IsNullOrEmpty(dr.Field(Of String)(0)), "Missing Field1", dr.Field(Of String)(0)), _
.Field2 = IIf(String.IsNullOrEmpty(dr.Field(Of String)(1)), "Missing FIeld2", dr.Field(Of String)(1))}