В прошлом я много боролся с этой проблемой, и, честно говоря, я не мог найти решение для передачи массива объектов.
Одним из решений, которое я использовал в прошлом, было прохождениеданные одного объекта в качестве параметров, а затем создайте объект в .net DLL и добавьте его в свой список.
Пример
<ServiceContract()>
Public Interface IPersonAdd
<OperationContract()>
Function AddPerson(ByVal id As Integer, ByVal value As Integer) As Boolean
End Interface
Public Function AddPerson(ByVal id As Integer, ByVal value As Integer)
Dim p as new Person(id, value)
ListPersons.Add(p)
End Function