我有一类属性,它们被用作Web服务的一部分。该类具有另一个类的列表作为其属性之一:
<Serializable()> _
Public Class LessonPlans
Public Property Teacher As String
Public Property RoomNumber As String
Public Property Subject As String
Public Property Students As List(Of Student)
End Class
<Serializable()> _
Public Class Student
Public Property FirstName As String
Public Property LastName As String
End Class
当我在本地应用程序上使用LessonPlans类时,执行以下操作时没有问题:
Dim _NewLesson As New LessonPlans
_NewLesson.RoomNumber = "5"
_NewLesson.Subject = "English"
_NewLesson.Teacher = "Mr Smith"
Dim _Students As New List(Of Student)
Dim _NewStudent As New Student
_NewStudent.FirstName = "James"
_NewStudent.LastName = "Jones"
_Students.Add(_NewStudent)
_NewLesson.Students = _Students
但是,当我尝试在使用Web服务的应用程序上添加以下行时:
_NewLesson.Students = _Students
我收到错误: 错误6 “System.Collections.Generic.List(Of WindowsApplication1.ws_lessons.Students)”类型的值无法转换为“WindowsApplication1.ws_lessons.Students的一维数组”。
答案 0 :(得分:1)
转到对WS的引用属性,在“高级”设置下检查是否需要列表或数组
答案 1 :(得分:0)
经过一些研究后我发现虽然有一种相当复杂的方法可以实现我上面所需要的,但是通过Web服务将通用列表作为服务引用导入到项目中而不是像Web引用。较新版本的Visual Studio中的Web引用功能已过时,似乎已被服务引用取代。