我目前正在清理我们使用extern
方法的一些遗留代码库。参数名称在命名约定方面都是完整的。我想巩固它们。
[DllImport("customdll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetStatus(int new_status);
我可以安全地将new_status
重命名为newStatus
还是会违反合同?
ReSharper认为这是一个改变,但我想验证它。我无法找到它的文件(支持或反对)。
我不询问是否可以重命名方法名称本身,只是参数定义。
答案 0 :(得分:5)
是的,只要您使用正确的数据类型将它们保持在相同的顺序,就可以安全地更改参数的名称(但不能更改方法本身)。传统DLL中的参数由序数填充,而不是按名称填充。
如果在DllImport构造函数中使用EntryPoint参数,也可以更改方法本身的名称。