Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将方法调用从隐式类型参数更改为显式类型参数_C#_Resharper - Fatal编程技术网

C# 将方法调用从隐式类型参数更改为显式类型参数

C# 将方法调用从隐式类型参数更改为显式类型参数,c#,resharper,C#,Resharper,我有一个具有以下签名的方法: public static TDestination Editable<TSource, TDestination> (TSource source, TDestination destination) { ... } 我想把它改成 Editable<TSource, TDestination>(source, destination); 可编辑(源、目标); 这样做的原因是,我希望能够

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

 public static TDestination Editable<TSource, TDestination>
          (TSource source, TDestination 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以打开“快速修复工具”窗口

  • 如果要在文件、文件夹、项目或解决方案级别进行重构,请找到名为“插入推断类型参数”的选项,并展开向右箭头,然后单击所需选项。请看下图:

  • 这将插入所选级别的所有推断类型参数

  • 希望这有帮助

    类型参数规范是冗余的。为什么要指定它们?相反的方法可以,但我不认为您可以应用此规则,因为它不存在。Resharper希望简化您的代码,但不希望使其更加冗长。我希望指定它们,因为我希望能够在源代码中搜索传递给该方法的类型。您可以。类似这样的
    可编辑(源、目标)。你的问题是什么?问题是这个方法被调用了250多次,使用了不同类型的参数;这确实有帮助。我不知道上下文操作根据游标在方法名上的位置而有所不同。这不是很直观。非常感谢你。
    
    Editable|(source, destination);
            ^ the pipe in the above line is your cursor