我正在尝试将部分VBA
转换为VB.Net
。我没有使用VB.Net
,因为我更喜欢使用C#
,但由于我需要转换的代码量,我正在编码VB.Net dll
,我可以将其用作参考C#
申请。
我有以下VBA
代码,需要能够在VB.Net
Open FileName For Binary Access Read As #1
Get #1, , customType
customType 是用户定义的数据类型。我已在VB.net
中将所需的类型复制为结构,但我不知道从哪里开始为VB.Net
重现此代码
任何建议都将不胜感激。
FileOpen(1, FileName, OpenMode.Binary)
FileGet(1, customStruct)
上面似乎有些工作,但是当自定义结构将项目定义为数组时,我得到以下异常。
e.g,
Public Structure CustomStruct
Dim FileType() As Byte
End Structure
Microsoft.VisualBasic.dll中出现未处理的“System.ArgumentOutOfRangeException”类型异常
其他信息:需要非负数。
我已通过
初始化尺寸ReDim customStruct.FileType(7)
由于
答案 0 :(得分:1)
我经过大量的试验和错误后找到了解决方案,以下工作,
FileOpen(1, FileName, OpenMode.Binary)
FileGet(1, customStruct)
关于另一个问题,数组必须在结构中声明为固定,即使它在使用之前已初始化
<VBFixedArray(2)> Dim FileType() As Byte
约什