"Automatically insert all named arguments" 在方法调用点,在代码中

"Automatically insert all named arguments" at method call-site, in code

说有方法,

void M(int a, int b, int c /* and many more */)

有没有办法在调用站点将 M() 转换为 M(a: .., b: .., c: ..)

我正在使用 Visual Studio 2013(旗舰版) 2017 Professional 和 ReSharper 8 ReSharper 2018.1。使用其中任何一个的内置解决方案(或扩展,如果需要的话)都是合适的。

这类似于Is there any tools to help me refactor a method call from using position-based to name-based parameters,虽然我希望以没有参数开始;并在 4 年后问这个问题。

不确定我是否完全理解您的要求。

您可以使用 T4Template 并使用所述方法参数生成部分 class。 除此之外,我只能看到一个 params 参数在工作,但这不能解决命名参数问题。

Resharper 可以为您做这件事https://www.jetbrains.com/help/resharper/Argument_Style.html