在C#中重命名extern方法参数是否安全?

Mar*_*cke 5 c# dll unmanaged

我目前正在清理我们使用extern方法的一些遗留代码库.参数名称在命名约定方面都是完整的.我想巩固它们.

[DllImport("customdll", CallingConvention = CallingConvention.Cdecl)]
public static extern void SetStatus(int new_status);
Run Code Online (Sandbox Code Playgroud)

我可以放心地重新命名new_statusnewStatus或将是撕毁合同?

ReSharper认为这是一个改变,但我想验证它.我无法找到它的文件(支持或反对).

不是问是否可以重命名方法名称本身,只是参数定义.

参考

Joh*_* Wu 6

是的,只要您使用正确的数据类型将它们保持在相同的顺序,就可以安全地更改参数的名称(但不是方法本身).传统DLL中的参数由序数填充,而不是按名称填充.

如果在DllImport构造函数中使用EntryPoint参数,也可以更改方法本身的名称.