Хорошо.
У меня есть скомпилированная VB6 DLL, которую я импортировал в веб-сервис (C # ASMX).
В VB6 у меня есть следующие типы:
Public Type typeAccountInfo
singular As String
code As String
description As String
End Type
Public Type timeSheetRowPost
lock As Boolean
code As String
from As Long
to As Long
fakt As Boolean
ik As String
ek As String
ak As String
accounts() As typeAccountInfo
End Type
Public Type timeSheetDayPosts
date As String
scheduleFrom As Long
scheduleTo As Long
break As Long
dagPost() As timeSheetRowPost
End Type
Public Type timeSheet
period As String
dayCount As Long
days() As timeSheetDayPosts
End Type
TimeSheet> timeSheetDayPosts> timeSheetRowPosts> typeAccountInfo
У меня есть функция VB6, которая получает все данные, которые мне нужны.
Когда я реализую это в своем веб-сервисе asmx, я делаю это следующим образом:
public List<returnType> myFunction(input parameters){
List<timeSheet> VB6Array = new List<timeSheet>();
VB6Array = new List<timeSheet>((timeSheet[])VBWrapper.myVB6Func(input params));
// at this point VB6Array holds all the data i need. And all i need (want) at this point is to be able to cast this VB6(system.array) to a List<> object that i can return as my returntype.
// Pseudo : List<ReturnType> myNewReturnType = new List<ReturnType>((ReturnType[])VB6Array);
// However all my tries has been without success....and what i get is You must implement a default accessor on System.Array because it inherits from ICollection.
return myNewReturnType;
}
Будем весьма благодарны за любые советы и / или указатели о том, как привести или преобразовать тип VB6 (system.array) в List <>.
Заранее спасибо.