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