编组日期类型

时间:2010-02-22 08:34:38

标签: marshalling vb6-migration

我正在尝试编组VB6结构,但我不知道如何编组Date类型ex: DateSaved As Date

以及以下字符串数组: FASTNESSNAME(1到6)As String * 16

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

VB6中的日期与.NET中的日期非常相似(均为8个字节),因此您应该编组为System.DateTime。

.NET中不支持固定长度字符串和基于1的数组。对于固定长度的字符串,您可以使用自定义的.NET类吗?

作为对此的补充,您可以使用<VBFixedString(20)>来定义固定字符串,但这不会像您在VB6中所期望的那样工作。如果你在结构中使用它:

Private Structure FixedStr
    <VBFixedString(20)> Dim strTest As String
End Structure

然后在您的代码中使用 - 您可以得到不同的结果:

Dim fs As FixedStr
fs.strTest = "1234567890123456789012345"

MsgBox(Len(fs)) '<- Shows 20
MsgBox(Len(fs.strTest)) '<- Shows 25