我想使用Resharper结构搜索和替换模板来自动替换此示例:
new Fruit { Name = "Apple", IsTasty = true }
有了这个:
new Fruit("Apple", true)
(注意,所需的构造函数已经存在)

我已经尝试过各种组合,例如:
new $type$ { Name = $name$, IsTasty = $isTasty$ };
...使用各种不同的占位符类型,但是R#在我的代码中找不到任何示例。有人做过吗?

最佳答案

所以我只是在reshaper上做到了(我认为是9.0.2)

创建模式:FruityChange

  • new $ type $ {名称= $ param1 $,IsTasty = $ param2 $}
  • $ type $是
  • 类型
  • $ param1 $是字符串
  • 类型的表达式
  • $ param2 $是 bool 类型
  • 的表达式
  • 模式严重性“显示为错误”

  • 与水果类
    public class Fruit
    {
        public Fruit(string name, bool isTasty)
        {
            Name = name;
            IsTasty = isTasty;
        }
    
        public string Name { get; set; }
        public bool IsTasty { get; set; }
    }
    

    这突出了代码编辑器中的表达式,并且alt-tab为其提供了“替换为”选项。它至少可以在我的机器上工作:-)

    关于c# - 如何使用Resharper结构查找和替换C#对象初始化程序以使用构造函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29678162/

    10-11 09:27