为什么COM Interop将VB6布尔值视为C#Short?
发布时间:2020-12-17 07:26:55 所属栏目:百科 来源:网络整理
导读:我有一个遗留的VB6应用程序,它定义了以下结构: Public Type DrawDown Date As Date Amount As Currency CapitaliseInterest As BooleanEnd Type 使用tlbimp.exe生成互操作程序集,但结构最终如下: [StructLayout(LayoutKind.Sequential,Pack = 4)]public st
我有一个遗留的VB6应用程序,它定义了以下结构:
Public Type DrawDown Date As Date Amount As Currency CapitaliseInterest As Boolean End Type 使用tlbimp.exe生成互操作程序集,但结构最终如下: [StructLayout(LayoutKind.Sequential,Pack = 4)] public struct DrawDown { public DateTime Date; [MarshalAs(UnmanagedType.Currency)] public decimal Amount; public short CapitaliseInterest; } 我正在使用.NET 4.0. 为什么VB6布尔值被转换为C#short而不是bool? 解决方法
VB6使用VARIANT_BOOL类型,
在这里找到关于它的信息和历史:BOOL vs. VARIANT_BOOL vs. BOOLEAN vs. boo
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |