Meh*_*dad 31 .net c# pinvoke winapi dword
在将Windows API(包括数据类型)转换为P/Invoke时,我应该用int或替换DWORD uint吗?
int
uint
它通常是未签名的,但我看到人们int在任何地方使用它(只是因为CLS警告?甚至.NET Framework本身都这样做),所以我从来不确定哪一个是正确的使用它.
Chr*_*isF 44
以及根据MSDN DWORD是4294967295的范围为0的无符号整数.
DWORD
所以理想情况下你应该用uint而不是替换它int.
但是,正如您所发现的那样uint,非CLS兼容,因此如果您的方法是公开可见的,则应使用int并执行转换.这样做的必然结果是,如果你的方法没有在你的程序集之外使用,你应该将它标记为internal而不是public.然后你就可以使用了uint.
internal
public
归档时间:
14 年,5 月 前
查看次数:
41198 次
最近记录:
8 年,2 月 前