GetLastWin32Error返回int而不是uint

3
如果Marshal.GetLastWin32Error暴露了Kernel32.DLL中的Win32 GetLastError函数,那么为什么它返回一个int,而GetLastError返回一个无符号的DWORD呢?
1个回答

3

由于无符号整数不符合CLS兼容。在早期,VB.NET和J#不能处理它们,这是四种支持的语言中的两种。现在已经修复了这个问题,但仍然有许多可以运行在CLR上但不支持无符号整数的语言,Java是最著名的例子。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接