我有一个具有以下签名的方法:

 public static TDestination Editable<TSource, TDestination>
          (TSource source, TDestination destination)
    {
      ...
    }

像这样被调用了数百次:
Editable(source, destination);

我想把它改成
Editable<TSource, TDestination>(source, destination);

这样做的原因是我希望能够获得在调用此方法时实际使用的所有类型参数的列表,而不必检查每个调用站点。如果我可以在每个调用站点显式地指定类型参数,我就可以简单地机械搜索源代码以获取传递给该方法的所有类型参数的列表。

我如何使用 ReSharper 或其他工具做到这一点?

最佳答案

我正在使用 Resharper 2017.2.2 。尝试以下步骤,让我知道它是如何为您工作的:

  • 将光标定位在缺少泛型类型参数的调用上。在您的情况下,它将位于方法名称的末尾,在左括号之前:
    Editable|(source, destination);
            ^ the pipe in the above line is your cursor
    
  • 按 alt + enter 打开快速修复工具窗口。
  • 找到名为 的选项。如果要在文件、文件夹、项目或解决方案级别进行重构,请插入推断类型参数 并向右展开箭头,然后单击所需选项。看下图:

  • c# - 将方法调用从隐式类型参数更改为显式-LMLPHP
  • 这应该插入所选级别的所有推断类型参数。

  • 希望这可以帮助!

    关于c# - 将方法调用从隐式类型参数更改为显式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47019006/

    10-13 03:24