カスタムタイプをVB6からC#のList <>にキャスティングしますか?
私はWebサービス(C#ASMX)にインポートしたVB6コンパイル済みDLLを持っています。
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
タイムシート> timeSheetDayPosts> timeSheetRowPosts> typeAccountInfo
私は私が必要とするすべてのデータを取得するVB6の機能を持っている:
はVB6で私はこの次のタイプがあります。
私は自分のWebサービスASMXでこれを実装すると、私は次のようにそれを行う:にVB6のタイプ(のSystem.Array)を鋳造または変換する方法について
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;
}
任意のヒントおよび/またはポインタリスト<>が高く評価されます。
ありがとうございます。
私は私の希望を持っていたが、それは私を与えた: は変換 – doge
申し訳ありませんが近くに建てられたが、ノー「を介してリスト」に「 system.collections.generic.list」タイプを変換することはできません葉巻Da_smokes。あなたの健康に悪いです。 –
Har
リストを手作業でループして自分のタイプを追加するとうまくいきました。それはハウツーの問題でした。 – doge