正常使用时,Logic 类型会映射为 System.Boolean。
在 VOSTRUCT 和 UNION 中使用 XSharp.__WinBool,因为这是一个 4 字节的值,就像 Win32 api 所期望的那样。
关键字 LOGIC 表示 .Net 的布尔类型。该类型可以有两个值:true 或 false。
如果在 VOSTRUCT 或 UNION 类型中有 LOGIC 类型的成员,则这些成员不会被表示为 .Net 的布尔类型,因为这些布尔类型占用 1 字节,但在 Windows API 中,LOGIC 值用 4 字节表示。因此,编译器将这些替换为特殊类型 __WinBool,它占用 4 字节,并且在 Logic 和 __WinBool 之间有隐式转换器。