我有一个遗留的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中的Boolean
被翻译成C#中的short
而不是bool
?