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

Is it safe to rename extern method parameters in C#?

我目前正在清理我们使用 extern 方法的一些遗留代码库。就命名约定而言,参数名称无处不在。我想合并它们。

例子

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

我可以安全地将 new_status 重命名为 newStatus 还是会破坏合同?

ReSharper 建议将其作为更改,但我想验证一下。我找不到关于它的文档(支持或反对)。

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

参考资料

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

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